表单验证的一些东西

来源:互联网 发布:屏幕着火软件下载 编辑:程序博客网 时间:2024/05/19 23:59

    /**
         * 手机号码 
         * 移动: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">
function 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 false;         }     } };   /*  用途:检查输入字符串是否为空或者全部都是空格  输入: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;
   }
   
  }

 

原创粉丝点击