正则表达式常用验证整理

    对正则表达式也有研究过,但是对于一些常用的东西直接让手写的话还是有点问题的,,下面对一些正则表达式的基本知识就不讲解了,这里是我写的和在网上摘抄的一些正则表达式验证,以后需要直接采摘就是了:

  匹配网址URL的正则表达式:

1:[url=http://([w-]+.)+[w-]+(/[w[/url]http://([w-]+.)+[w-]+(/[w[/url[/url]]- ./?%&=]*)?
2:^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$
3:^[a-zA-z]+://(\\w+(-\\w+)*)(\\.(\\w+(-\\w+)*))*(\\?\\S*)?$

  匹配Email地址的正则表达式:

1:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)* 
2:^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$
3:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*

  

  匹配HTML标记的正则表达式:

:/<(.*)>.*<\/\1>|<(.*) \/>/

  数值相关和效验函数:

 

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

 

  匹配日期的正则表达式和效验函数:

/^(d{2}|d{4})-((0([1-9]{1}))|(1[1|2]))-(([0-2]([1-9]{1}))|(3[0|1]))$/   //  年-月-日
/^((0([1-9]{1}))|(1[1|2]))/(([0-2]([1-9]{1}))|(3[0|1]))/(d{2}|d{4})$/   // 月/日/年


//短时间,形如 (13:04:06)
function isTime(str)
{
var a = str.match(/^(\d{1,2})(:)?(\d{1,2})\2(\d{1,2})$/);
if (a == null) {return false}
if (a[1]>24 || a[3]>60 || a[4]>60)
{
  return false;
}
return true;
}
//短日期,形如 (2003-12-05)
function isDate(str)
{
var r = str.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/); 
if(r==null)return false; 
var d= new Date(r[1], r[3]-1, r[4]); 
return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]);
}
//长时间,形如 (2003-12-05 13:04:06)
function isDateTime(str)
{
var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/; 
var r = str.match(reg); 
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]);
}

  

  由于园友提示,另加验证:

      身份证号验证:

if(len==15)
       {
          var reg=/^([1-9]{0,1})?(\d){1,13}((\d)|x)?$/    //十五位
       }
       else if(len==18)
       {
          var reg=/^([1-9]{0,1})?(\d){1,16}((\d)|x)?$/      //十八位
       }

  电话号码验证:

  

 var phoneRegWithArea = /^[0][1-9]{2,3}-[0-9]{5,8}$/; 
 var phoneRegNoArea = /^[1-9]{1}[0-9]{5,8}$/;

  手机号码:

var regu =/^[1][3,5,8][0-9]{9}$/;

  用户名:

//强制用户名最短3个字符最长不超过16个字符
/^[a-zA-Z0-9_]{3,16}$/

  

 

posted on 2012-05-22 11:21  小茶喏  阅读(1952)  评论(7编辑  收藏  举报

导航