ホームページ >ウェブフロントエンド >jsチュートリアル >js_基礎知識でよく使うカスタムパブリック関数まとめ

js_基礎知識でよく使うカスタムパブリック関数まとめ

WBOY
WBOYオリジナル
2016-05-16 17:03:401561ブラウズ
コードをコピー コードは次のとおりです:

String.prototype.trim = function(){
return this.replace(/(^s*)|(s*$)/g, "");
}

//日付形式かどうかを確認します
function isDate(datestr){
var result = datestr.match(/((((1[8-9]d{2})|() [2 -9]d{3}))(-)(10|12|0?[13578])(-)(3[01]|[12][0-9]|0?[1-9] )$ )|(^((1[8-9]d{2})|([2-9]d{3}))(-)(11|0?[469])(-)(30| [12 ][0-9]|0?[1-9])$)|(^((1[8-9]d{2})|([2-9]d{3}))(- )( 0?2)(-)(2[0-8]|1[0-9]|0?[1-9])$)|(^([2468][048]00)(-)( 0? 2)(-)(29)$)|(^([3579][26]00)(-)(0?2)(-)(29)$)|(^([1][89] [0 ][48])(-)(0?2)(-)(29)$)|(^([2-9][0-9][0][48])(-)(0? 2) (-)(29)$)|(^([1][89][2468][048])(-)(0?2)(-)(29)$)|(^([2- 9] [0-9][2468][048])(-)(0?2)(-)(29)$)|(^([1][89][13579][26])(-) (0 ?2)(-)(29)$)|(^([2-9][0-9][13579][26])(-)(0?2)(-)(29)$) )/ );
if(result==null){
return "no";
}
return "yes";

//上記の効果 一貫した
function isDate2(datestr) {
var result = datestr.match(/^(d{1,4})(-|/)(d{1,2})2(d{ 1,2 })$/);
if (result == null)
return "no";
var d = new Date(result[1], result[3] - 1, result[ 4]) ;
if((d.getFull Year() == 結果[1] && (d.getMonth() 1) == 結果[3] && d.getDate() == 結果[4])) {
return "yes";
}
return "no";
}

//入力された文字が中国語かどうかを判断します
function Is Chinese(str){
if (str.length!=0){
reg=/^[u0391-uFFE5] $/;
if(!reg.test(str)){
// warning("申し訳ありませんを入力しました。文字列型の形式が正しくありません!");
return "no";
}
}
return "yes";
}


// 空かどうかを判定します。
function isEmpty(str){
if(str==null||typeof str=="undefine"||str.trim()==""){
return true;
}else{
return false;
}
}

//固定電話
function testTelephone(phone){
varphone_reg = new RegExp (/^ ([ ]{0,1}d{3,4}|d{3,4}-)?d{7,8}$/); {
return "いいえ";
}
return "はい" >}
//割引
関数 isDiscount(discount){
varphone_reg = new RegExp(/ ^(0 ([.]d{1,2})|1|1.00|1.0)$/);
if(!phone_reg.test(discount)){
return "no"; }
return "yes";
}
//携帯電話番号
function testMobile(mobile){
var mobile_reg = new RegExp(/^0{0,1}1[0 -9]{ 10}$/);
if(!mobile_reg.test(mobile)){
return "いいえ";
return "はい"; >//QQ 番号は 10000 から始まります
function testQQ(qq){
var qq_reg = new RegExp(/^[1-9][0-9]{4,}$/); if(!qq_reg.test(qq)){
return "いいえ";
}
return "はい";
//email
関数 testEmail(email){
var email_reg = new RegExp(/^w ([- .]w )*@w ([-.]w )*.w ([-.]w )*$/);
if(! email_reg.test( email)){
return "no";
}
return "yes";

//符号なし正の整数
function testPlusDigit(digit) ) {
var plusDigit_reg = new RegExp(/^d $/);
if(!plusDigit_reg.test(digit)){
return "いいえ";
return "はい" ;
}

//DOUBLE 価格
function testPriceFormat(str){
var PriceFormatReg = new RegExp(/^d (.d{1,2})?$/) ;
if(!priceFormatReg.test(str)){
return "いいえ";
}
return "はい";

//ID カード
function testIDCard(str){
var IDCardReg = new RegExp(/(^d{15}$)|(^d{17}([0-9]|X)$)/); if (!IDCardReg.test(str)){
return "no";
}
return "yes";

//2012-06-19 の日付形式
function testDate(str){
var dateReg = new RegExp(/(^d{4}-[0,1][0-9]-[0-3][0-9]$)/ ) ;
if(!dateReg.test(str)){
戻り値
}
戻り値
}



//浮動小数点数の正確な演算 (加算)
function accAdd(arg1,arg2){
var r1,r2,m,n;
try{r1=arg1.toString().split; (". ")[1].length}catch(e){r1=0}
try{r2=arg2.toString().split(".")[1].length}catch(e){ r2=0 }
m=Math.pow(10,Math.max(r1,r2));
n=(r1>=r2)?r1:r2;
return ((arg1*m) arg2*m )/m).toFixed(n);
}
Number.prototype.add = function (arg){
return accAdd(arg,this);

/ /浮動小数点精密演算(減算)
function accSub(arg1,arg2){
return accAdd(arg1,-arg2)
}
Number.prototype.subtract = function (arg) ){
return accSub(this,arg);
}

//正確な浮動小数点演算 (乗算)
function accMul(arg1,arg2)
{
var m=0 ,s1=arg1.toString(),s2=arg2.toString();
try{m =s1.split(".")[1].length}catch(e){}
try{m =s2.split(".")[1].length}catch(e){}
return Number(s1.replace(".",""))*Number(s2.replace(" .", ""))/Math.pow(10,m)
}
Number.prototype.mul = function (arg){
return accMul(arg, this);
}

//浮動小数点数の正確な演算 (除算)
function accDiv(arg1,arg2){
var t1=0,t2=0,r1,r2;
try{t1=; arg1.toString() .split(".")[1].length}catch(e){}
try{t2=arg2.toString().split(".")[1].length}catch (e){}
with(Math){
r1=Number(arg1.toString().replace(".",""))
r2=Number(arg2.toString().replace (".", ""))
return (r1/r2)*pow(10,t2-t1)
}
}
Number.prototype.div = function (arg);
return accDiv (this, arg);

//入力数値を制限します
function isNumber(e) {
if ($.browser.msie) {
if ( ((event.keyCode > 47) && (event.keyCode > 47) keyCode
) ||
(event.keyCode == 8) ) {
return true;
} else {
return false; 🎜>if ( ((e.that > 47) && (e.that (e.that == 8) ) {
return
} else {
return false;
}
}
}


//文字列長インターセプト
function Cutstr(str, len) {
var temp; 🎜>var icount = 0;
var patrn = /[^x00-xff]/;
var strre = "";
for (var i = 0; i if (icount < len - 1) {
temp = str.substr(i, 1);
if (patrn.exec(temp) == null) {
icount = icount 1;
} else {
icount = icount 2;
strre = temp;
}
}
return strre "...";
}

//ドメイン名を取得します host
function getHost(url) {
var host = "null";
if (typeof url = = "未定義" || null == url) {
url = window.location.href;
}
var regex = /^w ://([^/]*).*/;
var match = url.match(regex);
if (typeof match != "unknown" && null != match) {
host = match[1];
return host ;
}

//値が範囲内かどうかを判断します
//rang=1 は正の整数 [0,2147483647] を意味します 2 は浮動小数点 [0,3.4028235E38] を意味します
/ /return= 'empty' は入力が空であることを意味します。
function isRang(str,rang){
if(typeof str == "number"){
var num = Number(str); 🎜> //正の整数の範囲内かどうかを判断します
if( rang == 1){
if(testPlusDigit(num)=="yes"){
if(num>=0&&num< =2147483647){
return "is_int";
}else{
return "is_not_int_rang";
}else{
return "is_not_int"; >}else if( rang == 2){
if(testPriceFormat(num)=="yes"){
if(num>=0&&num<=3.4028235E38){
return "is_float";
}else {
return "is_not_float_rang";
}
}else{
return "is_not_float";
}else{
return "rang_is_not_right";
}
}else{
return "is_not_number"
}
}

;
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。