正则表达式
一:用处
表单验证
二:常用匹配
1.匹配非负整数(正整数 + 0): ^\d+$
2.匹配正整数 : ^[0-9]*[1-9][0-9]*$
3.匹配非正整数(负整数 + 0): ^((-\d+)|(0+))$
4.匹配负整数:^-[0-9]*[1-9][0-9]*$
5.匹配整数: ^-?\d+$
6.匹配非负浮点数(正浮点数 + 0): ^\d+(\.\d+)?$
7.匹配正浮点数: ^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$
8.匹配非正浮点数(负浮点数 + 0): ^((-\d+(\.\d+)?)|(0+(\.0+)?))$ \
9.匹配负浮点数: ^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$
10.匹配浮点数 : ^(-?\d+)(\.\d+)?$
11.匹配由26个英文字母组成的字符串^[A-Za-z]+$
12.匹配由26个英文字母的大写组成的字符串 : ^[A-Z]+$
13.匹配由26个英文字母的小写组成的字符串: ^[a-z]+$
14.匹配由数字和26个英文字母组成的字符串: ^[A-Za-z0-9]+$
15.匹配由数字、26个英文字母或者下划线组成的字符串: ^\w+$
16.匹配中文字符的正则表达式: [\u4e00-\u9fa5]
17.匹配双字节字符(包括汉字在内):[^\x00-\xff]
18.匹配空行的正则表达式:\n[\s| ]*\r
19.匹配HTML标记的正则表达式:/<(.*)>.*<\/\1>|<(.*) \/>/
20.匹配首尾空格的正则表达式:(^\s*)|(\s*$)
21.中国身份证:(^\d{15}$)|(\d{17}(?:\d|x|X)$)
22.邮箱:^[0-9a-zA-Z]+@(([0-9a-zA-Z]+)[.])+[a-z]{2,4}$
23.手机号码:^(1(([35][0-9])|(47)|[8][01236789]))\d{8}$
24.手机号码电话号码同时验证(^\(?\d{3,4}[\)\-]?\d{5,10}$)|(^\[1358]d{10}$)
25.实现手机号前带86或是+86的情况:^((\+86)|(86))?(13)\d{9}$
26.电话号码与手机号码同时验证:(^(\d{3,4}-)?\d{7,8})$|(13[0-9]{9})
27.网络链接:(h|H)(r|R)(e|E)(f|F) *= *('|")?(\w|\\|\/|\.)+('|"| *|>)?
28.图片链接:(s|S)(r|R)(c|C) *= *('|")?(\w|\\|\/|\.)+('|"| *|>)?
29.中国固定电话号码:(\(\d{3,4}\)|\d{3,4}-|\s)?\d{8}
30.中国电话号码(包括移动和固定电话):(\(\d{3,4}\)|\d{3,4}-|\s)?\d{7,14}
31.中国邮政编码:[1-9]{1}(\d+){5}
32.ip地址:^(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])$
33.简单的日期判断(YYYY/MM/DD):^\d{4}(\-|\/|\.)\d{1,2}\1\d{1,2}$
34.演化的日期判断(YYYY/MM/DD| YY/MM/DD): ^(^(\d{4}|\d{2})(\-|\/|\.)\d{1,2}\3\d{1,2}$)|(^\d{4}年\d{1,2}月\d{1,2}日$)$
35.时间yyyy-MM-dd HH:MM:SS :^[1-9][0-9]{3}-(0?[1-9]|1[0|1|2])-(0?[1-9]|[1|2][0-9]|3[0|1]) (0?[1-9]|1[0-9]|2[0-3]):(0?[0-9]|[1|2|3|4|5][0-9]):(0?[0-9]|[1|2|3|4|5][0-9])$
36.匹配网址URL的正则表达式:((http|ftp|https|file):\/\/([\w\-]+\.)+[\w\-]+(\/[\w\u4e00-\u9fa5\-\.\/?\@\%\!\&=\+\~\:\#\;\,]*)?)
三:举例js中
<script type="text/javascript">
function Validator(){
var mail = $("#txt_mail").val();
var mailreg = /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/;
if(!mailreg.exec(mail)){
alert("邮箱格式错误!");
return false;
}
var telreg = /(^(13[0-9]{9})|(15[012356789][0-9]{8})|(18[0256789][0-9]{8})|(147[0-9]{8})$)|(^(([0\+]\\d{2,3}-)?(0\d{2,3})-)?(\d{7,9})(-(\d{3,}))?$)/;
var tel = $("#txt_tel").val();
if(!telreg.exec(tel))
{
alert("联系方式错误!");
retturn false;
}
if($("#txt_name").val()==" ")
{
alert("姓名不能为空!");
return false;
}
}
</script>