常用的正则表达式

正则验证在表单的提交中使用相当频繁,在此整理了一下常用的表达式。

(1)用户名 : 2-14个英文或2-7个汉字(数字、下划线)

var regName = /^([\u4e00-\u9fa5\d_]{2,7})$|^([a-zA-Z0-9_]{2,14})$/;

(2)手机号: 中国大陆手机号

var regPhone = /^1[356789][\d]{9}$/;
var regTel = /^\d{3}-\d{8}|\d{4}-\{7,8}$/    //固定电话

(3)密码: 只能包含字母、数字和下划线,长度6~14位

var regPwd1 = /^[\w]{6,14}$/;   //随意组合
var regPwd2 = /^[a-zA-Z]\w{5,13}$/;   //必须以字母开头
var regPwd3 = /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{6,14}$/;   //必须包含大小写字母和数字-->强密码
var regPwd4 = /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&*?]).{6,14}$  //必须包含大小写字母和数字和特殊符号

关于强密码,涉及到正则的分组和前瞻。一个()表示一个分组,regPwd3中包含3个组。详细的分组介绍推荐 ☞ 去看看
关于前瞻,我们都知道前瞻分为 正向前瞻 和 负向前瞻,通俗的解释一下什么是“前” :正则表达式从文本的头部向尾部开始解析,即文本尾部方向,称为“前”,而前瞻就是在正则表达式匹配到规则的时候向前检查是否符合断言,详细的前瞻介绍推荐 ☞ 去看看regPwd3(?=.*\d)表示必须包含数字,数字的前面可以有或没有任意字符(“.”代表任意字符,“*”代表0个或多个),同理的(?=.*[a-z])表示至少有一个小写字母。

(4)邮箱: 可包含".-_",但不能以特殊符号开始或结束

var regEmail = /^([0-9A-Za-z]+[-_\.]*[0-9A-Za-z]+)@([0-9A-Za-z]+\.[A-Za-z]{2,3}(\.[a-zA-Z]{2,3})?)$/;

由于不能以特殊符号开始或结束,所以[-_\.]*前后的表达式是"+",特殊符号的前后至少要有一个字符,邮箱的后缀由两部分或三部分组成,所以最后的(\.[a-zA-Z]{2,3})?是可选内容,这里的"?"表示范围0-1(即0次或1次)。

(4)年龄: 0-120岁

var regAge = /^((1[0-1]|[1-9])?\d|120)$/

表达式分为120岁和小于120岁,小于120即左边部分,(1[0-1]|[1-9])可有可无,有时又分为100-119岁或10-99岁,无时就只剩"\d"即0-9岁。

(5)QQ号: 5-10位,不以0开头

var regQQ = /^[1-9][0-9]{4,9}$/

(6)身份证: 二代身份证,共18位

var regID = /^[1-9]\d{5}(18|19|20)\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/

身份证不以0头,前6位为地区代码,7-14为生日信息yyyymmdd(0[1-9])|(1[0-2])保证月份在01-12之间,([0-2][1-9]得到01-29以及|10|20|30|31得到完整的01-31日。15-17位为顺序号,最后一位为检验码,0-9或"X"或"x",即[0-9Xx]

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
整数或者小数:^[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+$"。 验证用户密码:"^[a-zA-Z]\w{5,17}$"正确格式为:以字母开头,长度在6~18之间,只能包含字符、数字和下划线。 验证是否含有^%&',;=?$\"等字符:"[^%&',;=?$\x22]+"。 只能输入汉字:"^[\u4e00-\u9fa5]{0,}$" 验证Email地址:"^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$"。 验证InternetURL:"^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$"。 验证电话号码:"^(\(\d{3,4}-)|\d{3.4}-)?\d{7,8}$"正确格式为:"XXX-XXXXXXX"、"XXXX-XXXXXXXX"、"XXX-XXXXXXX"、"XXX-XXXXXXXX"、"XXXXXXX"和"XXXXXXXX"。 验证身份证号(15位或18位数字):"^\d{15}|\d{18}$"。 验证一年的12个月:"^(0?[1-9]|1[0-2])$"正确格式为:"01"~"09"和"1"~"12"。 验证一个月的31天:"^((0?[1-9])|((1|2)[0-9])|30|31)$"正确格式为;"01"~"09"和"1"~"31"。 匹配中文字符的正则表达式: [\u4e00-\u9fa5] 匹配双字节字符(包括汉字在内):[^\x00-\xff]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值