正则表达式常用验证整理

匹配网址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:/<(.*)>.*<\/\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)
functionisTime(str)
{
vara = str.match(/^(\d{1,2})(:)?(\d{1,2})\2(\d{1,2})$/);
if(a == null) {returnfalse}
if(a[1]>24 || a[3]>60 || a[4]>60)
{
  returnfalse;
}
returntrue;
}
//短日期,形如 (2003-12-05)
functionisDate(str)
{
varr = str.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);
if(r==null)returnfalse;
vard=newDate(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)
functionisDateTime(str)
{
varreg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/;
varr = str.match(reg);
if(r==null)returnfalse;
vard=newDate(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]);
}

 

posted @ 2012-07-13 21:53  超级塞亚人  阅读(93)  评论(0)    收藏  举报