您的位置:首页 > 大数据 > 人工智能

表单验证的一些东西

2012-04-16 19:22 302 查看
    /**

         * 手机号码 

         * 移动:134[0-8],135,136,137,138,139,150,151,157,158,159,182,187,188 

         * 联通:130,131,132,152,155,156,185,186 

         * 电信:133,1349,153,180,189 

        String MOBILE = "^1(3[0-9]|5[0-35-9]|8[025-9])\\d{8}$"; 

        */

      /** 

         * 中国移动:China Mobile 

         * 134[0-8],135,136,137,138,139,150,151,157,158,159,182,187,188

        String CM = "^1(34[0-8]|(3[5-9]|5[017-9]|8[278])\\d)\\d{7}$"; 

        */

       /** 

         * 中国联通:China Unicom 

         * 130,131,132,152,155,156,185,186 

        String CU = "^1(3[0-2]|5[256]|8[56])\\d{8}$"; 

        */

        /** 

         * 中国电信:China Telecom 

         * 133,1349,153,180,189 

        String CT = "^1((33|53|8[09])[0-9]|349)\\d{7}$"; 

        */

        /** 

         * 大陆地区固话及小灵通 

         * 区号:010,020,021,022,023,024,025,027,028,029 

        * 号码:七位或八位 

        String PHS = "^0(10|2[0-5789]|\\d{3})\\d{7,8}$"; 

        */

/*

* 判断是否为英文字母,是则返回true,否则返回false

*/

代码

function f_check_letter(obj)   

{          

    if (/^[A-Za-z]+$/.test( obj.value ))    

    {   

       return true;   

    }    

    f_alert(obj,"请输入英文字母");   

    return false;   

}   

   

/*

用途:检查输入字符串是否只由汉字、字母、数字组成

输入:

value:字符串

返回:

如果通过验证返回true,否则返回false

*/

代码

function f_check_ZhOrNumOrLett(obj){    //判断是否是汉字、字母、数字组成   

    var regu = "^[0-9a-zA-Z\u4e00-\u9fa5]+$";      

    var re = new RegExp(regu);   

    if (re.test( obj.value )) {   

      return true;   

    }   

    f_alert(obj,"请输入汉字、字母或数字");   

    return false;   

}   

   

/*

用途:校验ip地址的格式

输入:strIP:ip地址

返回:如果通过验证返回true,否则返回false;

*/

代码

function f_check_IP(obj)    

{    

    var re=/^(\d+)\.(\d+)\.(\d+)\.(\d+)$/; //匹配IP地址的正则表达式   

    if(re.test( obj.value ))   

    {   

        if( RegExp.$1 <256 && RegExp.$2<256 && RegExp.$3<256 && RegExp.$4<256) return true;   

    }   

    f_alert(obj,"请输入合法的计算机IP地址");   

    return false;    

}   

   

/*

用途:检查输入对象的值是否符合端口号格式

输入:str 输入的字符串

返回:如果通过验证返回true,否则返回false

*/

代码

function f_check_port(obj)   

{   

    if(!f_check_number(obj))   

        return false;   

    if(obj.value < 65536)   

        return true;   

    f_alert(obj,"请输入合法的计算机IP地址端口号");   

    return false;    

}  

<script language="JavaScript">

 

//设置焦点函数

function focusElement(formName, elemName) {

 var elem = document.forms[formName].elements[elemName];

 elem.focus( );

 elem.select( );

}

 

// 验证下拉框

function isChosen(select){

 if (select.selectedIndex==0) {

  alert("请选择下拉单相应栏目.");

  focusElement(select.form.name,select.name);

  return false;

 } else {

  return true;

 }

}

//不为空函数

function isNotEmpty(elem) {

 var str=elem.value;

 if(str==null || str.length==0) {

  alert("此项不能为空");

  focusElement(elem.form.name,elem.name);

  return false;

 } else {

  return true;

 }

}

 

// 验证是否是数字

function isNumber(elem) {

 var str=elem.value;

 var oneDecimal=false;

 var oneChar=0;

 str=str.toString( );

 for (var i=0; i<str.length; i++) {

 oneChar=str.charAt(i).charCodeAt(0);

 // -

 if (oneChar==45) {

 if (i==0) {

 continue;

 } else {

 alert("Only the first character may be a minus sign.");

 setTimeout("focusElement(‘" + elem.form.name + "‘, ‘" + elem.name + "‘)", 0);

 return false;

 }

}

// 小数点

if (oneChar==46) {

if (!oneDecimal) {

oneDecimal=true;

continue;

} else {

alert("输入的数字只允许有一个小数点.");

setTimeout("focusElement(‘" + elem.form.name + "‘, ‘" + elem.name + "‘)", 0);

return false;

}

}

// 数字只能在0和9之间

if (oneChar<48 || oneChar > 57) {

alert("此项只能输入数字.");

setTimeout("focusElement(‘" + elem.form.name + "‘, ‘" + elem.name + "‘)", 0);

return false;

}

}

return true;

}

// 验证是否是数字电话

function istel(elem) {

 var str=elem.value;

 var oneDecimal=false;

 var oneChar=0;

 str=str.toString( );

 for (var i=0; i<str.length; i++) {

  oneChar=str.charAt(i).charCodeAt(0);

  if(oneChar==45){continue;}

  if(oneChar<48 || oneChar > 57) {

   alert("此项只能输入数字和‘-‘号.");

   setTimeout("focusElement(‘" + elem.form.name + "‘, ‘" + elem.name + "‘)", 0);

   return false;

  }

 }

 return true;

}

//验证输入数据的长度

//邮编

function isLenMatch(elem,lengthNum) {

 var str=elem.value;

 if (str.length != lengthNum) {

  alert("此项内容长度只能为"+lengthNum+"位.");

  setTimeout("focusElement(‘" + elem.form.name + "‘, ‘" + elem.name + "‘)", 0);

  return false;

 } else {

  return true;

 }

}

 

//邮件地址验证

function isEMailAddr(elem) {

var str = elem.value;

var re = /^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$/;

if (!str.match(re)) {

alert("您输入的不是有效的e-mail地址.");

setTimeout("focusElement(‘" + elem.form.name + "‘, ‘" + elem.name + "‘)", 0);

return false;

} else {

return true;

}

}

//单选按钮验证

function isValidRadio(radio) {

 var valid=false;

 for (var i=0; i<radio.length; i++) {

  if (radio.checked) {

   return true;

  }

 }

 alert("单选按钮未选中.");

 radio[0].focus();

 //setTimeout("focusElement(‘" + radio[0].form.name + "‘, ‘" + radio[0].name + "‘)", 0);

 focusElement(radio[0].form.name,radio[0].name);

 return false;

}

</script>

 

<script language="JavaScript">

functio
4000
n validateForm(form) {

 if (isNotEmpty(form.name1) && isNotEmpty(form.name2)) {;}else{return false;

}

 </script>

<title>JS验证程序Sample</title></head>

 

<body>

<form method="GET" action="index.htm" name="sampleForm" onsubmit="return validateForm(this)">

<p>姓名:

<input type="text" size="30" name="name1" id="name1" />

</body>

</html>

//函数名:chksafe

//功能介绍:检查是否含有"‘",‘\‘,"/"

//参数说明:要检查的字符串

//返回值:0:是  1:不是

function chksafe(a)

{

 return 1;

/* fibdn = new Array ("‘" ,"\", "、", ",", ";", "/");

 i=fibdn.length;

 j=a.length;

 for (ii=0;ii<i;ii++)

 { for (jj=0;jj<j;jj++)

  { temp1=a.charAt(jj);

   temp2=fibdn[ii];

   if (tem‘;p1==temp2)

   { return 0; }

  }

 }

 return 1;

*/

}

 

//函数名:chkspc

//功能介绍:检查是否含有空格

//参数说明:要检查的字符串

//返回值:0:是  1:不是

function chkspc(a)

{

 var i=a.length;

 var j = 0;

 var k = 0;

 while (k<i)

 {

  if (a.charAt(k) != " ")

   j = j+1;

  k = k+1;

 }

 if (j==0)

 {

  return 0;

 }

 

 if (i!=j)

 { return 2; }

 else

 {

  return 1;

 }

}

 

 

//函数名:chkemail

//功能介绍:检查是否为Email Address

//参数说明:要检查的字符串

//返回值:0:不是  1:是

function chkemail(a)

{ var i=a.length;

 var temp = a.indexOf(‘@‘);

 var tempd = a.indexOf(‘.‘);

 if (temp > 1) {

  if ((i-temp) > 3){

  

    if ((i-tempd)>0){

     return 1;

    }

  

  }

 }

 return 0;

}

 

//opt1 小数     opt2   负数

//当opt2为1时检查num是否是负数

//当opt1为1时检查num是否是小数

//返回1是正确的,0是错误的

function chknbr(num,opt1,opt2)

{

 var i=num.length;

 var staus;

//staus用于记录.的个数

 status=0;

 if ((opt2!=1) && (num.charAt(0)==‘-‘))

 {

  //alert("You have enter a invalid number.");

  return 0;

 

 }

//当最后一位为.时出错

 if (num.charAt(i-1)==‘.‘)

 {

  //alert("You have enter a invalid number.");

  return 0;

 }

 

 for (j=0;j<i;j++)

 {

  if (num.charAt(j)==‘.‘)

  {

   status++;

  }

  if (status>1)

  {

  //alert("You have enter a invalid number.");

  return 0; 

  }

  if (num.charAt(j)<‘0‘ || num.charAt(j)>‘9‘ )

  {

   if (((opt1==0) || (num.charAt(j)!=‘.‘)) && (j!=0))

   {

    //alert("You have enter a invalid number.");

    return 0;

   }

  }

 }

 return 1;

}

 

//函数名:chkdate

//功能介绍:检查是否为日期

//参数说明:要检查的字符串

//返回值:0:不是日期  1:是日期

function chkdate(datestr)

{

 var lthdatestr

 if (datestr != "")

  lthdatestr= datestr.length ;

 else

  lthdatestr=0;

 

 var tmpy="";

 var tmpm="";

 var tmpd="";

 //var datestr;

 var status;

 status=0;

 if ( lthdatestr== 0)

  return 0

 

 

 for (i=0;i<lthdatestr;i++)

 { if (datestr.charAt(i)== ‘-‘)

  {

   status++;

  }

  if (status>2)

  {

   //alert("Invalid format of date!");

   return 0;

  }

  if ((status==0) && (datestr.charAt(i)!=‘-‘))

  {

   tmpy=tmpy+datestr.charAt(i)

  }

  if ((status==1) && (datestr.charAt(i)!=‘-‘))

  {

   tmpm=tmpm+datestr.charAt(i)

  }

  if ((status==2) && (datestr.charAt(i)!=‘-‘))

  {

   tmpd=tmpd+datestr.charAt(i)

  }

 

 }

 year=new String (tmpy);

 month=new String (tmpm);

 day=new String (tmpd)

 //tempdate= new String (year+month+day);

 //alert(tempdate);

 if ((tmpy.length!=4) || (tmpm.length>2) || (tmpd.length>2))

 {

  //alert("Invalid format of date!");

  return 0;

 }

 if (!((1<=month) && (12>=month) && (31>=day) && (1<=day)) )

 {

  //alert ("Invalid month or day!");

  return 0;

 }

 if (!((year % 4)==0) && (month==2) && (day==29))

 {

  //alert ("This is not a leap year!");

  return 0;

 }

 if ((month<=7) && ((month % 2)==0) && (day>=31))

 {

  //alert ("This month is a small month!");

  return 0;

 

 }

 if ((month>=8) && ((month % 2)==1) && (day>=31))

 {

  //alert ("This month is a small month!");

  return 0;

 }

 if ((month==2) && (day==30))

 {

  //alert("The Febryary never has this day!");

  return 0;

 }

 

 return 1;

}

 

//函数名:fucPWDchk

//功能介绍:检查是否含有非数字或字母

//参数说明:要检查的字符串

//返回值:0:含有 1:全部为数字或字母

function fucPWDchk(str)

{

  var strSource ="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";

  var ch;

  var i;

  var temp;

 

  for (i=0;i<=(str.length-1);i++)

  {

 

    ch = str.charAt(i);

    temp = strSource.indexOf(ch);

    if (temp==-1)

    {

     return 0;

    }

  }

  if (strSource.indexOf(ch)==-1)

  {

    return 0;

  }

  else

  {

    return 1;

  }

}

 

function jtrim(str)

{     while (str.charAt(0)==" ")

          {str=str.substr(1);}     

     while (str.charAt(str.length-1)==" ")

         {str=str.substr(0,str.length-1);}

     return(str);

}

 

 

//函数名:fucCheckNUM

//功能介绍:检查是否为数字

//参数说明:要检查的数字

//返回值:1为是数字,0为不是数字

function fucCheckNUM(NUM)

{

 var i,j,strTemp;

 strTemp="0123456789";

 if ( NUM.length== 0)

  return 0

 for (i=0;i<NUM.length;i++)

 {

  j=strTemp.indexOf(NUM.charAt(i));

  if (j==-1)

  {

  //说明有字符不是数字

   return 0;

  }

 }

 //说明是数字

 return 1;

}

 

//函数名:fucCheckTEL

//功能介绍:检查是否为电话号码

//参数说明:要检查的字符串

//返回值:1为是合法,0为不合法

function fucCheckTEL(TEL)

{

 var i,j,strTemp;

 strTemp="0123456789-()# ";

 for (i=0;i<TEL.length;i++)

 {

  j=strTemp.indexOf(TEL.charAt(i));

  if (j==-1)

  {

  //说明有字符不合法

   return 0;

  }

 }

 //说明合法

 return 1;

}

 

//函数名:fucCheckLength

//功能介绍:检查字符串的长度

//参数说明:要检查的字符串

//返回值:长度值

function fucCheckLength(strTemp)

{

 var i,sum;

 sum=0;

 for(i=0;i<strTemp.length;i++)

 {

  if ((strTemp.charCodeAt(i)>=0) && (strTemp.charCodeAt(i)<=255))

   sum=sum+1;

  else

   sum=sum+2;

 }

 return sum;

}

 

 

 

 

 

 

 

 

 

 

 

 

 

 用户名:   密码:  登录 注册 JayChang_Z的空间 主页博客相册|个人档案 |好友   查看文章   

通用JS验证(手机,电话,邮箱,QQ)2010-05-04 18:59//定义邮箱,电话,手机,QQ,税友通验证标志

var email_Flag = false;

var phone_Flag = false;

var mobile_Flag = false;

var qq_Flag = false;

var syt_Flag = false;

//验证是否为空

function verifyIsNull(info_span,str){

var flag = false;

if(str == ""){

info_span.innerHTML = "对不起,您输入的内容为空。";

flag = true;

}

return flag;

}

//验证邮箱 

function verfifyEmail(){

var strEmail = document.getElementById("email").value;

var email_info = document.getElementById("email_info");

if(verifyIsNull(email_info,strEmail)){

email_Flag = false;

return ;

}

var reg = /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/;

email_Flag = reg.test(strEmail);

if(email_Flag){

email_info.innerHTML = "恭喜!邮箱地址输入正确。";

}else{

email_info.innerHTML = "对不起,您输入的邮箱地址格式错误。";

}

}

//验证qq号码

function verifyQQ(){

var strQQ = document.getElementById("qq").value;

var qq_info = document.getElementById("qq_info");

if(verifyIsNull(qq_info,strQQ)){

qq_Flag = false;

return;

}

var reg = /^[1-9]\d{4,8}$/;

qq_Flag =  reg.test(strQQ);

if(qq_Flag){

qq_info.innerHTML = "恭喜!QQ号码输入正确。";

}else{

qq_info.innerHTML = "对不起,您输入的QQ号码格式错误。";

}

}

//验证电话号码

function verifyPhone(){

var strPhone = document.getElementById("phone").value;

var phone_info = document.getElementById("phone_info");

var reg = /^(([0\+]\d{2,3}-)?(0\d{2,3})-)?(\d{7,8})(-(\d{3,}))?$/;

if(verifyIsNull(phone_info,strPhone)){

phone_Flag = false;

return ;

}    

phone_Flag = reg.test(strPhone);

if(phone_Flag){

phone_info.innerHTML = "恭喜!电话号码输入正确。";

}else{

phone_info.innerHTML = "对不起,您输入的电话号码格式错误。";

}



//验证手机号码

function verifyMobile(){

var strMobile = document.getElementById("mobile").value;

var mobile_info = document.getElementById("mobile_info");

if(verifyIsNull(mobile_info,strMobile)){

mobile_Flag = false;

return;

}

var reg0=/^13\d{9}$/;

var reg1=/^153\d{8}$/;

var reg2=/^159\d{8}$/;

var reg3=/^158\d{8}$/;

var reg4=/^150\d{8}$/;

if(reg0.test(strMobile) || reg1.test(strMobile) || reg2.test(strMobile) || reg3.test(strMobile) || reg4.test(strMobile)){

mobile_Flag = true;

}else{

mobile_Flag = false;

}

if (mobile_Flag){

document.getElementById("mobile_info").innerHTML = "恭喜!手机号码输入正确。";

}else{

document.getElementById("mobile_info").innerHTML = "对不起,您输入的手机号码格式错误。";

}

}

说明

test方法检查在字符串中是否存在一个模式,如果存在则返回 true,否则就返回 false。

正则表达式部分:

\d 代表一个数字

{7,8} 代表7-8位数字(表示电话号码)

{3,} 代表分机号码

d{2,3} 代表区号

\+]\d{2,3} 代表国际区号

^13\d{5,9}$/ //130–139。至少5位,最多9位

/^153\d{4,8}$/ //联通153。至少4位,最多8位

/^159\d{4,8}$/ //移动159。至少4位,最多8位

<input type="text" id="xxx" onblur="verifyXxx();" onfocus="clearInfo(document.getElementById('xxx'))" />

<span id="xxx_info"></span>

类别:javascript/ajax |  | 添加到搜藏 | 分享到i贴吧 | 浏览(100) | 评论 (0)  上一篇:spring2.5整合struts1.2.9(Mappi...    下一篇:关于 Java 对象序列化您不知道的... 相关文章:? JS正则验证邮箱/手机/电话的格式          ? JS 手机,邮箱,邮编,座机等常见验...

? 常用的js验证数字,电话号码,传真...          ? js邮箱验证代码

? js号码,邮箱验证          ? 统计输入字节数量,汉字为三字节,...

? (原创)JS 工具类 读取cookie 用...          ? JS验证邮箱 身份证 VISA 卡输入...

? JS jquery 验证邮箱          ? radio,select,生日,年份?,邮箱 ...

更多>>

 最近读者: 登录后,您就出现在这里。       

    rovern leadtoit woshilaidage ifhaveif_01 xiongcan530 徐宗湖 

 网友评论:     发表评论:  

内 容:  

  

      取消回复

     

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

   /*  用途:检查输入的Email信箱格式是否正确  输入:strEmail:字符串  返回:如果通过验证返回true,否则返回false  */function checkEmail(strEmail)  {     //var emailReg = /^[_a-z0-9]+@([_a-z0-9]+\.)+[a-z0-9]{2,3}$/;      var emailReg = /^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/;     if ( emailReg.test(strEmail)
) {         return true;     }     else {         alert("您输入的Email地址格式不正确!");         return false;     } };   /* 用途:校验ip地址的格式  输入:strIP:ip地址  返回:如果通过验证返回true,否则返回false;  */function isIP(strIP)  {     if (isNull(strIP)) {         return false;     }     var
re = /^(\d+)\.(\d+)\.(\d+)\.(\d+)$/g //匹配IP地址的正则表达式      if (re.test(strIP)) {         if ( RegExp.$1 < 256 && RegExp.$2 < 256 && RegExp.$3 < 256 && RegExp.$4 < 256) {             return true;         }     }     return false; };   /*  用途:检查输入手机号码是否正确  输入:strMobile:字符串 
返回:如果通过验证返回true,否则返回false  */function checkMobile( strMobile ) {     var regu = /^[1][3][0-9]{9}$/;     var re = new RegExp(regu);     if (re.test(strMobile)) {         return true;     }     else {         return false;     } };   /*  用途:检查输入的电话号码格式是否正确 
输入:strPhone:字符串  返回:如果通过验证返回true,否则返回false  */function checkPhone( strPhone )  {     var phoneRegWithArea = /^[0][1-9]{2,3}-[0-9]{5,10}$/;     var phoneRegNoArea = /^[1-9]{1}[0-9]{5,8}$/;     var prompt = "您输入的电话号码不正确!" if ( strPhone.length > 9 ) {        
if ( phoneRegWithArea.test(strPhone) ) {             return true;         }         else {             alert( prompt );             return false;         }     }     else {         if ( phoneRegNoArea.test( strPhone ) ) {             return true;         }        
else {             alert( prompt );             return fal
11b34
se;         }     } };   /*  用途:检查输入字符串是否为空或者全部都是空格  输入:str  返回:如果全是空返回true,否则返回false  */function isNull( str ) {     if ( str == "" ) {         return true;     }     var regu = "^[ ]+$";     var re
= new RegExp(regu);     return re.test(str); };   /*  用途:检查输入对象的值是否符合整数格式  输入:str 输入的字符串  返回:如果通过验证返回true,否则返回false  */function isInteger( str ) {     var regu = /^[-]{0,1}[0-9]{1,}$/;     return regu.test(str); };   /*  用途:检查输入字符串是否符合正整数格式  输入:s:字符串  返回:如果通过验证返回true,否则返回false 
*/function isNumber( s ) {     var regu = "^[0-9]+$";     var re = new RegExp(regu);     if (s.search(re) != - 1) {         return true;     }     else {         return false;     } };   /*  用途:检查输入字符串是否是带小数的数字格式,可以是负数  输入:str:字符串  返回:如果通过验证返回true,否则返回false 
*/function isDecimal( str ) {     if (isInteger(str)) {         return true;     }     var re = /^[-]{0,1}(\d+)[\.]+(\d+)$/;     if (re.test(str)) {         if (RegExp.$1 == 0 && RegExp.$2 == 0) {             return false;         }         return true;    
}     else {         return false;     } };   /*  用途:检查输入对象的值是否符合端口号格式  输入:str 输入的字符串  返回:如果通过验证返回true,否则返回false  */function isPort( str ) {     return (isNumber(str) && str < 65536); };   /*  用途:检查输入字符串是否符合金额格式,格式定义为带小数的正数,小数点后最多三位  输入:s:字符串  返回:如果通过验证返回true,否则返回false 
*/function isMoney( s ) {     var regu = "^[0-9]+[\.][0-9]{0,3}$";     var re = new RegExp(regu);     if (re.test(s)) {         return true;     }     else {         return false;     } };   /*  用途:检查输入字符串是否只由英文字母和数字和下划线组成  输入:s:字符串  返回:如果通过验证返回true,否则返回false 
*/function isNumberOr_Letter( s ) {     //判断是否是数字或字母      var regu = "^[0-9a-zA-Z\_]+$";     var re = new RegExp(regu);     if (re.test(s)) {         return true;     }     else {         return false;     } };   /*  用途:检查输入字符串是否只由英文字母和数字组成  输入:s:字符串  返回:如果通过验证返回true,否则返回false 
*/function isNumberOrLetter( s ) {     //判断是否是数字或字母      var regu = "^[0-9a-zA-Z]+$";     var re = new RegExp(regu);     if (re.test(s)) {         return true;     }     else {         return false;     } };   /*  用途:检查输入字符串是否只由汉字、字母、数字组成  输入:s:字符串  返回:如果通过验证返回true,否则返回false 
*/function isChinaOrNumbOrLett( s ) {     //判断是否是汉字、字母、数字组成      var regu = "^[0-9a-zA-Z\u4e00-\u9fa5]+$";     var re = new RegExp(regu);     if (re.test(s)) {         return true;     }     else {         return false;     } };   /*  用途:判断是否是日期  输入:date:日期;fmt:日期格式 
返回:如果通过验证返回true,否则返回false  */function isDate( date, fmt )  {     if (fmt == null) {         fmt = "yyyyMMdd";     }     var yIndex = fmt.indexOf("yyyy");     if (yIndex ==- 1) {         return false;     }     var year = date.substring(yIndex, yIndex + 4);    
var mIndex = fmt.indexOf("MM");     if (mIndex ==- 1) {         return false;     }     var month = date.substring(mIndex, mIndex + 2);     var dIndex = fmt.indexOf("dd");     if (dIndex ==- 1) {         return false;     }     var day = date.substring(dIndex,
dIndex + 2);     if (!isNumber(year) || year > "2100" || year < "1900") {         return false;     }     if (!isNumber(month) || month > "12" || month < "01") {         return false;     }     if (day > getMaxDay(year, month) || day < "01") {         return
false;     }     return true; }; function getMaxDay(year, month)  {     if (month == 4 || month == 6 || month == 9 || month == 11) {         return "30";     }     if (month == 2) {         if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {            
return "29";         }         else {             return "28";         }         return "31";;     } };   /*  用途:字符1是否以字符串2结束  输入:str1:字符串;str2:被包含的字符串  返回:如果通过验证返回true,否则返回false  */function isLastMatch(str1, str2)  {     var index = str1.lastIndexOf(str2);    
if (str1.length == index + str2.length) {         return true;     }     return false; };   /*  用途:字符1是否以字符串2开始  输入:str1:字符串;str2:被包含的字符串  返回:如果通过验证返回true,否则返回false  */function isFirstMatch(str1, str2)  {     var index = str1.indexOf(str2);     if (index ==
0) {         return true;     }     return false; };   /*  用途:字符1是包含字符串2  输入:str1:字符串;str2:被包含的字符串  返回:如果通过验证返回true,否则返回false  */function isMatch(str1, str2)  {     var index = str1.indexOf(str2);     if (index ==- 1) {         return false;     }     return
true; };   /*  用途:检查输入的起止日期是否正确,规则为两个日期的格式正确,且结束如期>=起始日期  输入:startDate:起始日期,字符串; endDate:结束如期,字符串  返回:如果通过验证返回true,否则返回false  */function checkTwoDate( startDate, endDate )  {     if ( !isDate(startDate) ) {         alert("起始日期不正确!");         return false;    
}     else if ( !isDate(endDate) ) {         alert("终止日期不正确!");         return false;     }     else if ( startDate > endDate ) {         alert("起始日期不能大于终止日期!");         return false;     }     return true; };   /*  用途:检查复选框被选中的数目  输入:checkboxID:字符串  返回:返回该复选框中被选中的数目 
*/function checkSelect( checkboxID )  {     var check = 0;     var i = 0;     if ( document.all(checkboxID).length > 0 )      {         for ( i = 0; i < document.all(checkboxID).length; i++ ) {             if ( document.all(checkboxID).item( i ).checked )
{                 check += 1;             }         }     }     else {         if ( document.all(checkboxID).checked ) {             check = 1;         }     }     return check; } function getTotalBytes(varField)  {     if (varField == null) {         return
- 1;     }     var totalCount = 0;     for (i = 0; i < varField.value.length; i++) {         if (varField.value.charCodeAt(i) > 127) {             totalCount += 2;         }         else {             totalCount++ ;         }     }     return totalCount; }
function getFirstSelectedValue( checkboxID ) {     var value = null;     var i = 0;     if ( document.all(checkboxID).length > 0 )     {         for ( i = 0; i < document.all(checkboxID).length; i++ )         {             if ( document.all(checkboxID).item(
i ).checked ) {                 value = document.all(checkboxID).item(i).value;                 break;             }         }     }     else {         if ( document.all(checkboxID).checked ) {             value = document.all(checkboxID).value;         }    
}     return value; } function getFirstSelectedIndex( checkboxID ) {     var value = - 2;     var i = 0;     if ( document.all(checkboxID).length > 0 )     {         for ( i = 0; i < document.all(checkboxID).length; i++ ) {             if ( document.all(checkboxID).item(
i ).checked ) {                 value = i;                 break;             }         }     }     else {         if ( document.all(checkboxID).checked ) {             value = - 1;         }     }     return value; } function selectAll( checkboxID, status
) {     if ( document.all(checkboxID) == null) {         return;     }     if ( document.all(checkboxID).length > 0 )     {         for ( i = 0; i < document.all(checkboxID).length; i++ ) {             document.all(checkboxID).item( i ).checked = status;        
}     }     else {         document.all(checkboxID).checked = status;     } } function selectInverse( checkboxID )  {     if ( document.all(checkboxID) == null) {         return;     }     if ( document.all(checkboxID).length > 0 )      {         for ( i =
0; i < document.all(checkboxID).length; i++ )          {             document.all(checkboxID).item( i ).checked = !document.all(checkboxID).item( i ).checked;         }     }     else {         document.all(checkboxID).checked = !document.all(checkboxID).checked;    
} } function checkDate( value )  {     if (value == '') {         return true;     }     if (value.length != 8 || !isNumber(value)) {         return false;     }     var year = value.substring(0, 4);     if (year > "2100" || year < "1900") {         return
false;     }     var month = value.substring(4, 6);     if (month > "12" || month < "01") {         return false;     }     var day = value.substring(6, 8);     if (day > getMaxDay(year, month) || day < "01") {         return false;     }     return true;
};   /*  用途:检查输入的起止日期是否正确,规则为两个日期的格式正确或都为空且结束日期>=起始日期  输入:startDate:起始日期,字符串; endDate: 结束日期,字符串  返回:如果通过验证返回true,否则返回false  */function checkPeriod( startDate, endDate )  {     if ( !checkDate(startDate) ) {         alert("起始日期不正确!");         return false;    
}     else if ( !checkDate(endDate) ) {         alert("终止日期不正确!");         return false;     }     else if ( startDate > endDate ) {         alert("起始日期不能大于终止日期!");         return false;     }     return true; };   /*  用途:检查证券代码是否正确  输入:secCode:证券代码  返回:如果通过验证返回true,否则返回false 
*/function checkSecCode( secCode )  {     if ( secCode.length != 6 ) {         alert("证券代码长度应该为6位");         return false;     }     if (!isNumber( secCode ) ) {         alert("证券代码只能包含数字");         return false;     }     return true; };   /* function:cTrim(sInputString,iType) 
description:字符串去空格的函数  parameters:iType:1=去掉字符串左边的空格;2=去掉字符串左边的空格;0=去掉字符串左边和右边的空格  return value:去掉空格的字符串  */function cTrim(sInputString, iType)  {     var sTmpStr = ' ';     var i = - 1;     if (iType == 0 || iType == 1)      {         while (sTmpStr == '
') {             ++i;             sTmpStr = sInputString.substr(i, 1);         }         sInputString = sInputString.substring(i);     }     if (iType == 0 || iType == 2)      {         sTmpStr = ' ';         i = sInputString.length;         while (sTmpStr
== ' ') {             --i;             sTmpStr = sInputString.substr(i, 1);         }         sInputString = sInputString.substring(0, i + 1);     }     return sInputString; };

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

   匹配中文字符的正则表达式: [u4e00-u9fa5]

评注:匹配中文还真是个头疼的事,有了这个表达式就好办了

匹配双字节字符(包括汉字在内):[^x00-xff]

评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)

匹配空白行的正则表达式:ns*r

评注:可以用来删除空白行

匹配HTML标记的正则表达式:< (S*?)[^>]*>.*?|< .*? />

评注:网上流传的版本太糟糕,上面这个也仅仅能匹配部分,对于复杂的嵌套标记依旧无能为力

匹配首尾空白字符的正则表达式:^s*|s*$

评注:可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等),非常有用的表达式

 

匹配Email地址的正则表达式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*

评注:表单验证时很实用

匹配网址URL的正则表达式:[a-zA-z]+://[^s]*

评注:网上流传的版本功能很有限,上面这个基本可以满足需求

匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$

评注:表单验证时很实用

匹配国内电话号码:d{3}-d{8}|d{4}-d{7}

评注:匹配形式如 0511-4405222 或 021-87888822

匹配腾讯QQ号:[1-9][0-9]{4,}

评注:腾讯QQ号从10000开始

匹配中国邮政编码:[1-9]d{5}(?!d)

评注:中国邮政编码为6位数字

匹配身份证:d{15}|d{18}

评注:中国的身份证为15位或18位

匹配ip地址:d+.d+.d+.d+

评注:提取ip地址时有用

匹配特定数字:

^[1-9]d*$    //匹配正整数

^-[1-9]d*$   //匹配负整数

^-?[1-9]d*$   //匹配整数

^[1-9]d*|0$  //匹配非负整数(正整数 + 0)

^-[1-9]d*|0$   //匹配非正整数(负整数 + 0)

^[1-9]d*.d*|0.d*[1-9]d*$   //匹配正浮点数

^-([1-9]d*.d*|0.d*[1-9]d*)$  //匹配负浮点数

^-?([1-9]d*.d*|0.d*[1-9]d*|0?.0+|0)$  //匹配浮点数

^[1-9]d*.d*|0.d*[1-9]d*|0?.0+|0$   //匹配非负浮点数(正浮点数 + 0)

^(-([1-9]d*.d*|0.d*[1-9]d*))|0?.0+|0$  //匹配非正浮点数(负浮点数 + 0)

评注:处理大量数据时有用,具体应用时注意修正

匹配特定字符串:

^[A-Za-z]+$  //匹配由26个英文字母组成的字符串

^[A-Z]+$  //匹配由26个英文字母的大写组成的字符串

^[a-z]+$  //匹配由26个英文字母的小写组成的字符串

^[A-Za-z0-9]+$  //匹配由数字和26个英文字母组成的字符串

^w+$  //匹配由数字、26个英文字母或者下划线组成的字符串

在使用RegularExpressionValidator验证控件时的验证功能及其验证表达式介绍如下:

只能输入数字:“^[0-9]*$”

只能输入n位的数字:“^d{n}$”

只能输入至少n位数字:“^d{n,}$”

只能输入m-n位的数字:“^d{m,n}$”

只能输入零和非零开头的数字:“^(0|[1-9][0-9]*)$”

只能输入有两位小数的正实数:“^[0-9]+(.[0-9]{2})?$”

只能输入有1-3位小数的正实数:“^[0-9]+(.[0-9]{1,3})?$”

只能输入非零的正整数:“^+?[1-9][0-9]*$”

只能输入非零的负整数:“^-[1-9][0-9]*$”

只能输入长度为3的字符:“^.{3}$”

只能输入由26个英文字母组成的字符串:“^[A-Za-z]+$”

只能输入由26个大写英文字母组成的字符串:“^[A-Z]+$”

只能输入由26个小写英文字母组成的字符串:“^[a-z]+$”

只能输入由数字和26个英文字母组成的字符串:“^[A-Za-z0-9]+$”

只能输入由数字、26个英文字母或者下划线组成的字符串:“^w+$”

验证用户密码:“^[a-zA-Z]w{5,17}$”正确格式为:以字母开头,长度在6-18之间,

只能包含字符、数字和下划线。

验证是否含有^%&’,;=?$”等字符:“[^%&',;=?$x22]+”

只能输入汉字:“^[u4e00-u9fa5],{0,}$”

验证Email地址:“^w+[-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$”

验证InternetURL:“^http://([w-]+.)+[w-]+(/[w-./?%&=]*)?$”

验证电话号码:“^((d{3,4})|d{3,4}-)?d{7,8}$”

正确格式为:“XXXX-XXXXXXX”,“XXXX-XXXXXXXX”,“XXX-XXXXXXX”,

“XXX-XXXXXXXX”,“XXXXXXX”,“XXXXXXXX”。

验证身份证号(15位或18位数字):“^d{15}|d{}18$”

验证一年的12个月:“^(0?[1-9]|1[0-2])$”正确格式为:“01”-“09”和“1”“12”

验证一个月的31天:“^((0?[1-9])|((1|2)[0-9])|30|31)$”

正确格式为:“01”“09”和“1”“31”。

匹配中文字符的正则表达式: [u4e00-u9fa5]

匹配双字节字符(包括汉字在内):[^x00-xff]

匹配空行的正则表达式:n[s| ]*r

匹配HTML标记的正则表达式:/< (.*)>.*|< (.*) />/

匹配首尾空格的正则表达式:(^s*)|(s*$)

匹配Email地址的正则表达式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*

匹配网址URL的正则表达式:http://([w-]+.)+[w-]+(/[w- ./?%&=]*)?

(1)应用:计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)

=function(){return ([^x00-xff]/g,”aa”).length;}

(2)应用:javascript中没有像vbscript那样的trim函数,我们就可以利用这个表达式来实现

= function()

{

return (/(^s*)|(s*$)/g, “”);

}

(3)应用:利用正则表达式分解和转换IP地址

function IP2V(ip) //IP地址转换成对应数值

{

re=/(d+).(d+).(d+).(d+)/g //匹配IP地址的正则表达式

if((ip))

{

return RegExp.$1*(255,3))+RegExp.$2*(255,2))+RegExp.$3*255+RegExp.$4*1

}

else

{

throw new Error(”Not a valid IP address!”)

}

}

(4)应用:从URL地址中提取文件名的javascript程序

s=” />s=(/(.*/){0,}([^.]+).*/ig,”$2″) ; //

(5)应用:利用正则表达式限制网页表单里的文本框输入内容

用正则表达式限制只能输入中文:onkeyup=”value=”/blog/(/["^u4E00-u9FA5]/g,”) ” onbeforepaste=”(’text’,(’text’).replace(/[^u4E00-u9FA5]/g,”))”

用正则表达式限制只能输入全角字符: onkeyup=”value=”/blog/(/["^uFF00-uFFFF]/g,”) ” onbeforepaste=”(’text’,(’text’).replace(/[^uFF00-uFFFF]/g,”))”

用正则表达式限制只能输入数字:onkeyup=”value=”/blog/(/["^d]/g,”) “onbeforepaste= “(’text’,(’text’).replace(/[^d]/g,”))”

用正则表达式限制只能输入数字和英文:onkeyup=”value=”/blog/(/[W]/g,””) “onbeforepaste=”(’text’,(’text’).replace(/[^d]/

   

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 正则表达式用于字符串处理、表单验证等场合,实用高效。现将一些常用的表达式收集于此,以备不时之需。

用户名:/^[a-z0-9_-]{3,16}$/

密码:/^[a-z0-9_-]{6,18}$/

十六进制值:/^#?([a-f0-9]{6}|[a-f0-9]{3})$/

电子邮箱:/^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$/

URL:/^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/

IP 地址:/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/

HTML 标签:/^<([a-z]+)([^<]+)*(?:>(.*)<\/\1>|\s+\/>)$/

Unicode编码中的汉字范围:/^[u4e00-u9fa5],{0,}$/

匹配中文字符的正则表达式: [\u4e00-\u9fa5]

评注:匹配中文还真是个头疼的事,有了这个表达式就好办了

匹配双字节字符(包括汉字在内):[^\x00-\xff]

评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)

匹配空白行的正则表达式:\n\s*\r

评注:可以用来删除空白行

匹配HTML标记的正则表达式:<(\S*?)[^>]*>.*?</\1>|<.*? />

评注:网上流传的版本太糟糕,上面这个也仅仅能匹配部分,对于复杂的嵌套标记依旧无能为力

匹配首尾空白字符的正则表达式:^\s*|\s*$

评注:可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等),非常有用的表达式

匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*

评注:表单验证时很实用

匹配网址URL的正则表达式:[a-zA-z]+://[^\s]*

评注:网上流传的版本功能很有限,上面这个基本可以满足需求

匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$

评注:表单验证时很实用

匹配国内电话号码:\d{3}-\d{8}|\d{4}-\d{7}

评注:匹配形式如 0511-4405222 或 021-87888822

匹配腾讯QQ号:[1-9][0-9]{4,}

评注:腾讯QQ号从10000开始

匹配中国大陆邮政编码:[1-9]\d{5}(?!\d)

评注:中国大陆邮政编码为6位数字

匹配身份证:\d{15}|\d{18}

评注:中国大陆的身份证为15位或18位

匹配ip地址:\d+\.\d+\.\d+\.\d+

评注:提取ip地址时有用

匹配特定数字:

^[1-9]\d*$    //匹配正整数

^-[1-9]\d*$   //匹配负整数

^-?[1-9]\d*$   //匹配整数

^[1-9]\d*|0$  //匹配非负整数(正整数 + 0)

^-[1-9]\d*|0$   //匹配非正整数(负整数 + 0)

^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$   //匹配正浮点数

^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$  //匹配负浮点数

^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$  //匹配浮点数

^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$   //匹配非负浮点数(正浮点数 + 0)

^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$  //匹配非正浮点数(负浮点数 + 0)

评注:处理大量数据时有用,具体应用时注意修正

匹配特定字符串:

^[A-Za-z]+$  //匹配由26个英文字母组成的字符串

^[A-Z]+$  //匹配由26个英文字母的大写组成的字符串

^[a-z]+$  //匹配由26个英文字母的小写组成的字符串

^[A-Za-z0-9]+$  //匹配由数字和26个英文字母组成的字符串

^\w+$  //匹配由数字、26个英文字母或者下划线组成的字符串

 

 

 

 

 

 

 

 

 

//验证腾讯微博

  

  

  function verifytencentWeb(tencentWeb,tencentWeb_info){

   var reg = /^(http:\/\/t.qq.com\/)(?:([^:@]+)(?::([^@]*))?@)?([^:@]+)(?::(\d+))?(?:(.*?)(?:\?(.*?))?(?:#(.*?))?)$/;

   var qq_Flag =  reg.test(tencentWeb);

   if(verifyIsNull(tencentWeb)){

    tencentWeb_info.innerHTML = "";

    return true;

   }

   if(qq_Flag){

    tencentWeb_info.innerHTML = "";

    return true;

   }else{

    tencentWeb_info.innerHTML = "对不起,您输入的腾讯微博地址错误。";

    return false;

   }

  }

  

  //验证新浪微博

  

  function verifysinaWeb(sinaWeb,sinaWeb_info){

   var reg = /^(http:\/\/weibo.com\/)(?:([^:@]+)(?::([^@]*))?@)?([^:@]+)(?::(\d+))?(?:(.*?)(?:\?(.*?))?(?:#(.*?))?)$/;

   var qq_Flag =  reg.test(sinaWeb);

   if(verifyIsNull(sinaWeb)){

    sinaWeb_info.innerHTML = "";

    return true;

   }

   if(qq_Flag){

    sinaWeb_info.innerHTML = "";

    return true;

   }else{

    sinaWeb_info.innerHTML = "对不起,您输入的新浪微博地址错误。";

    return false;

   }

   

  }

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息