一些常用的脚本验证集合

来源:互联网 发布:文字识别软件 编辑:程序博客网 时间:2024/05/13 07:21


//----------
//珍惜别人的劳动成果,整理自20101006
//----------
/* 
****************************************** 
字符串函数扩充 
****************************************** 
*/ 

/* 
=========================================== 
//去除左边的空格 
=========================================== 

*/ 
 
String.prototype.ltrim = function() 

return this.replace(/(^/s*)/g, ""); 

String.prototype.Mid = function(start,len) 

 if(isNaN(start)&&start<0) 
 { 
 return ""; 
 } 
 if(isNaN(len)&&len<0) 
 { 
 return ""; 
 } 
 return this.substring(start,len); 

/* 
=========================================== 
//去除右边的空格 
=========================================== 
*/ 
String.prototype.rtrim = function() 

return this.replace(/(/s*$)/g, ""); 

/* 
=========================================== 
//去除前后空格 
=========================================== 
*/ 
String.prototype.trim = function() 

return this.replace(/(^/s*)|(/s*$)/g, ""); 


/* 
=========================================== 
//在字符串里查找另一字符串:位置从0开始 
=========================================== 
*/ 
String.prototype.InStr = function(str) 

if(str==null) 

str = ""; 

return this.indexOf(str); 

/* 
=========================================== 
//在字符串里反向查找另一字符串:位置0开始 
=========================================== 
*/ 
String.prototype.InStrRev = function(str) 

if(str==null) 

str = ""; 

return this.lastIndexOf(str); 
}

/* 
=========================================== 
//计算字符串打印长度 
=========================================== 
*/ 
String.prototype.LengthW = function() 

return this.replace(/[^/x00-/xff]/g,"**").length; 

/* 
=========================================== 
//是否是正确的IP地址 
=========================================== 
*/ 
String.prototype.isIP = function() 

var reSpaceCheck = /^(/d+)/.(/d+)/.(/d+)/.(/d+)$/;

if (reSpaceCheck.test(this)) 

this.match(reSpaceCheck); 
if (RegExp.$1 <= 255 && RegExp.$1 >= 0 
 && RegExp.$2 <= 255 && RegExp.$2 >= 0 
 && RegExp.$3 <= 255 && RegExp.$3 >= 0 
 && RegExp.$4 <= 255 && RegExp.$4 >= 0) 

return true;     

else 

return false; 


else 

return false; 

 

/* 
=========================================== 
//是否是正确的长日期 
=========================================== 
*/ 
String.prototype.isDate = function() 

var r = str.match(/^(/d{1,4})(-|//)(/d{1,2})/2(/d{1,2}) (/d{1,2}):(/d{1,2}):(/d{1,2})$/); 
if(r==null) 

return false; 

var d = new Date(r[1], r[3]-1,r[4],r[5],r[6],r[7]); 
return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]&&d.getHours()==r[5]&&d.getMinutes()==r[6]&&d.getSeconds()==r[7]); 

}

/* 
=========================================== 
//是否是手机 
=========================================== 
*/ 
String.prototype.isMobile = function() 

return /^0{0,1}13[0-9]{9}$/.test(this); 

/* 
=========================================== 
//是否是邮件 
=========================================== 
*/ 
String.prototype.isEmail = function() 

return /^/w+((-/w+)|(/./w+))*/@[A-Za-z0-9]+((/.|-)[A-Za-z0-9]+)*/.[A-Za-z0-9]+$/.test(this); 

/* 
=========================================== 
//是否是邮编(中国) 
=========================================== 
*/ 

String.prototype.isZipCode = function() 

return /^[//d]{6}$/.test(this); 

/* 
=========================================== 
//是否是有汉字 
=========================================== 
*/ 
String.prototype.existChinese = function() 

//[/u4E00-/u9FA5]為漢字﹐[/uFE30-/uFFA0]為全角符號 
return /^[/x00-/xff]*$/.test(this); 

/* 
=========================================== 
//是否是合法的文件名/目录名 
=========================================== 
*/ 
String.prototype.isFileName = function() 

return !/[/////*/?/|:"<>]/g.test(this); 

/* 
=========================================== 
//是否是有效链接 
=========================================== 
*/ 
//String.prototype.isUrl = function() 
//{ 
//    return /^http:////([/w-]+/.)+[/w-]+(/[/w-./?%&=]*)?$/.test(this); 
//} 

/* 
=========================================== 
//是否是有效的身份证(中国) 
=========================================== 
*/ 
String.prototype.isIDCard = function() 

var iSum=0; 
var info=""; 
var sId = this; 

var aCity={11:"北京",12:"天津",13:"河北",14:"山西",15:"内蒙古",21:"辽宁",22:"吉林",23:"黑龙江",31:"上海",32:"江苏",33:"浙江",34:"安徽",35:"福建",36:"江西",37:"山东",41:"河南",42:"湖北",43:"湖南",44:"广东",45:"广西",46:"海南",50:"重庆",51:"四川",52:"贵州",53:"云南",54:"西藏",61:"陕西",62:"甘肃",63:"青海",64:"宁夏",65:"新疆",71:"台湾",81:"香港",82:"澳门",91:"国外"};

if(!/^/d{17}(/d|x)$/i.test(sId)) 

return false; 

sId=sId.replace(/x$/i,"a"); 
//非法地区 
if(aCity[parseInt(sId.substr(0,2))]==null) 

return false; 

var sBirthday=sId.substr(6,4)+"-"+Number(sId.substr(10,2))+"-"+Number(sId.substr(12,2));

var d=new Date(sBirthday.replace(/-/g,"/"))

//非法生日 
if(sBirthday!=(d.getFullYear()+"-"+ (d.getMonth()+1) + "-" + d.getDate())) 

return false; 

for(var i = 17;i>=0;i--) 

iSum += (Math.pow(2,i) % 11) * parseInt(sId.charAt(17 - i),11); 

if(iSum%11!=1) 

return false; 

return true; 

}

/* 
=========================================== 
//是否是有效的电话号码(中国) 
=========================================== 
*/ 
String.prototype.isPhoneCall = function() 

return /(^[0-9]{3,4}/-[0-9]{3,8}$)|(^[0-9]{3,8}$)|(^/([0-9]{3,4}/)[0-9]{3,8}$)|(^0{0,1}13[0-9]{9}$)/.test(this); 

/* 
=========================================== 
//是否是数字 
=========================================== 
*/ 
String.prototype.isNumeric = function(flag) 

//验证是否是数字 
if(isNaN(this)) 

return false; 

switch(flag) 

case null://数字 
case "": 
return true; 
case "+"://正数 
return /(^/+?|^/d?)/d*/.?/d+$/.test(this); 
case "-"://负数 
return/^-/d*/.?/d+$/.test(this); 
case "i"://整数 
return/(^-?|^/+?|/d)/d+$/.test(this); 
case "+i"://正整数 
return/(^/d+$)|(^/+?/d+$)/.test(this); 
case "-i"://负整数 
return/^[-]/d+$/.test(this); 
case "f"://浮点数 
return/(^-?|^/+?|^/d?)/d*/./d+$/.test(this); 
case "+f"://正浮点数 
return/(^/+?|^/d?)/d*/./d+$/.test(this); 
case "-f"://负浮点数 
return/^[-]/d*/./d$/.test(this); 
default://缺省 
return true; 


/* 
=========================================== 
//转换成全角 
=========================================== 
*/ 
String.prototype.toCase = function() 

var tmp = ""; 
for(var i=0;i<this.length;i++) 

if(this.charCodeAt(i)>0&&this.charCodeAt(i)<255) 

tmp += String.fromCharCode(this.charCodeAt(i)+65248); 

else 

tmp += String.fromCharCode(this.charCodeAt(i)); 


return tmp 

/*
=========================================== 
//对字符串进行Html编码 
=========================================== 
*/ 
String.prototype.toHtmlEncode = function()

var str = this; 

str=str.replace("&","&amp;"); 
str=str.replace("<","&lt;"); 
str=str.replace(">","&gt;"); 
str=str.replace("’","&apos;"); 
str=str.replace("/"","&quot;"); 

return str; 

//’********************************************************* 
// ’ Purpose: 判断输入是否为整数字 
// ’ Inputs:   String 
// ’ Returns:  True, False 
//’********************************************************* 
function onlynumber(str) 

    var i,strlength,tempchar; 
    str=CStr(str); 
   if(str=="") return false; 
    strlength=str.length; 
    for(i=0;i<strlength;i++) 
    { 
        tempchar=str.substring(i,i+1); 
        if(!(tempchar==0||tempchar==1||tempchar==2||tempchar==3||tempchar==4||tempchar==5||tempchar==6||tempchar==7||tempchar==8||tempchar==9)) 
        { 
        alert("只能输入数字 "); 
        return false; 
        } 
    } 
    return true; 

//’********************************************************* 
//’********************************************************* 
// ’ Purpose: 判断输入是否为数值(包括小数点) 
// ’ Inputs:   String 
// ’ Returns:  True, False 
//’********************************************************* 
function IsFloat(str) 
{ var tmp; 
   var temp; 
   var i; 
   tmp =str; 
if(str=="") return false;  
for(i=0;i<tmp.length;i++) 
{temp=tmp.substring(i,i+1); 
if((temp>='0' && temp<= '9')||(temp == '.')){} //check input in 0-9 and ’.’ 
else   { return false;} 

return true; 

//’********************************************************* 
// ’ Purpose: 判断输入是否为电话号码 
// ’ Inputs:   String 
// ’ Returns:  True, False 
//’********************************************************* 
function isphonenumber(str) 

   var i,strlengh,tempchar; 
   str=CStr(str); 
   if(str=="") return false; 
   strlength=str.length; 
   for(i=0;i<strlength;i++) 
   { 
        tempchar=str.substring(i,i+1); 
        if(!(tempchar==0||tempchar==1||tempchar==2||tempchar==3||tempchar==4||tempchar==5||tempchar==6||tempchar==7||tempchar==8||tempchar==9||tempchar== '-')) 
        { 
        alert("电话号码只能输入数字和中划线 "); 
        return(false); 
        }    
   } 
   return(true); 

/*------------------------------------------------------------
 判断密码是否有单引号
  ------------------------------------------------------------*/
function isNotYinhao(s)
{  
    var yin;
 var temp="'";
 for(yin=0; yin < s.length; yin++ )
 {
  var ch = s.charAt(yin);
  if(temp.indexOf(ch)>=0)
  {
   return true;
  }
 }
 return false;
}
/*------------------------------------------------------------
 判断是否为数字类型,如不是数字类型则提示
 text-------输入文本
 name-------提示的名字
 使用例子onBlur="compareTwoDate(this,'电话号码')"
  ------------------------------------------------------------*/
function isNumber(text,name)
{
  var temp="0123456789";
   for(j=0; j<text.value.length; j++ )
   {   
     var ch = text.value.Trim().charAt(j);
  if(temp.indexOf(ch)==-1)
  {
   alert(name+"应为数字类型!");
   text.focus();
   return true;
  } 
   }
}
/*------------------------------------------------------------
 判断是否包含非法字符,如含非法字符则提示
 text-------输入文本
 addtemp----除英文和数字外还可包含的字符
 name-------提示的名字
 include----提示中不允许包含的字符
 使用例子onBlur="compareTwoDate(this,'@_','邮件','%*$')"
  ------------------------------------------------------------*/
function isChar(text,addtemp,name,include)
{
  var temp="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"+addtemp;
   for(j=0; j<text.value.length; j++ )
   {   
     var ch = text.value.Trim().charAt(j);
  if(temp.indexOf(ch)==-1)
  {
   alert(name+"中不允许包含'"+include+"'等字符!");
   text.focus();
   break;
  } 
   }
}


/*------------------------------------------------------------
 判断输入文本是否为空,如为空则提示
 text-------输入文本
 使用例子onBlur="isNull(this,'姓名')"
  ------------------------------------------------------------*/
function isNull(text,name)
{
 if(text.value.Trim()==null||text.value.Trim()=="")
 {
  alert(name+"不能为空!");
  text.focus();
  return true;
 }
}

原创粉丝点击