一、元字符/元符号:
二、正则表达式验证:
三、 示例:
. 匹配除换行符外的任意字符
[0-9] 匹配括号中的字符集中任意字符
[^0-9] 匹配不在括号中的字符集中的字符
\d 匹配数字,等价于[0-9]
\D 匹配非数字,等价于[^0-9]
\w 匹配字母和数字及_
\W 匹配非字母和数字及_
\0 匹配null字符
\b 匹配空格字符
\f 匹配进纸字符
\n 匹配换行符
\r 匹配回车字符
\t 匹配制表符
\s 匹配空白字符/空格/制表符和换行符
\S 匹配非空白字符
^ 匹配字符串的开始
$ 匹配字符串的结束
{n} 匹配前一项n次
{n,} 匹配前一项n次,或者多次
{n,m} 匹配前一项至少n次,但是不能超过m次
* 匹配前一项0次或者多次,等价于{0,}
+ 匹配前一项1次或者多次,等价于{1,}
? 匹配前一项0次或者1次,等价于{0,1}
| 表示或者的意思,如:[0-9]|[a-z]
() 用于分组
二、正则表达式验证:
只能输入整数,正数负数零都可以:^[+-]?[0-9]+$"或\d*$
只能输入整数或者小数:^[0-9]+\.{0,1}[0-9]{0,2}$
只能输入数字:^[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+$
只能输入汉字:^[\u4e00-\u9fa5]{0,}$
匹配中文字符的正则表达式: [\u4e00-\u9fa5]
匹配双字节字符(包括汉字在内):[^\x00-\xff]
匹配空行的正则表达式:\n[\s| ]*\r
匹配首尾空格的正则表达式:(^\s*)|(\s*$)
匹配html标签的正则表达式:<(.*)>(.*)<\/(.*)>|<(.*)\/>
验证用户密码:^[a-zA-Z]\w{5,17}$ 格式为:以字母开头,长度在6~18之间,只能包含字符、数字和下划线。
验证是否含有^%&',;=?$"等字符:[^%&',;=?$\x22]+
计算字符串的长度:[^\x00-\xff]/g,"aa").length (一个双字节字符长度计2,ASCII字符计1)
三、 示例:
//邮箱验证:
function isEmail(str) {
var reg = ^([a-z0-9A-Z]+[-|\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\.)+[a-zA-Z]{2,}$;
if(reg.test(str)) {
return true;
}else{
return false;
}
}
//手机号码验证:
function isPhone(str) {
var reg = ^(13[0-9]|15[0-9]|18[0-9])\d{8}$;
if(reg.test(str)) {
return true;
}else{
return false;
}
}
//电话号码验证:
function isTelephone(str) {
var reg = ^(\d{2,4}[-_-—]?)?\d{3,8}([-_-—]?\d{3,8})?([-_-—]?\d{1,7})?$)|(^0?1[35]\d{9}$;
if(reg.test(str)) {
return true;
}else{
return false;
}
}
//IP地址验证:
function isIP(str) {
var reg = ^(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)$;
if(reg.test(str)) {
return true;
}else{
return false;
}
}
//网址URL验证:
function isURL(str) {
var reg = ^http(s)?://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?$;
if(reg.test(str)) {
return true;
}else{
return false;
}
}
//密码长度(6-18位)验证:
function isPassword(str) {
var reg = ^\d{6,18}$;
if(reg.test(str)) {
return true;
}else{
return false;
}
}
//邮政编码验证:
function isPostalcode(str) {
var reg = ^[0-9]\d{5}(?!\d)$;
if(reg.test(str)) {
return true;
}else{
return false;
}
}
//身份证号验证:
function isIDcard(str) {
var reg = ^\d{18}$)|(^\d{15}$;
if(reg.test(str)) {
return true;
}else{
return false;
}
}
//年龄(0-120岁)验证:
function isPhone(str) {
var reg = ^(?:[1-9][0-9]?|1[01][0-9]|120)$;
if(reg.test(str)) {
return true;
}else{
return false;
}
}