JavaScript正则表达式验证

一、元字符/元符号:
.                                 匹配除换行符外的任意字符
[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; 
    }
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值