JS - 常用正侧表达式

基础知识点

修饰符

  • 全局搜索 -g
  • 忽略大小写 -i
  • 多行模式 -m
  • 包含换行符 -s

语法参考

  • . - 除换行符以外的所有字符。
  • ^ - 字符串开头。
  • $ - 字符串结尾。
  • \d,\w,\s - 匹配数字、字符、空格。
  • \D,\W,\S - 匹配非数字、非字符、非空格。
  • [abc] - 匹配 a、b 或 c 中的一个字母。
  • [a-z] - 匹配 a 到 z 中的一个字母。
  • [^abc] - 匹配除了 a、b 或 c 中的其他字母。
  • aa|bb - 匹配 aa 或 bb。
  • ? - 0 次或 1 次匹配。
  • * - 匹配 0 次或多次。
  • + - 匹配 1 次或多次。
  • {n} - 匹配 n次。
  • {n,} - 匹配 n次以上。
  • {m,n} - 最少 m 次,最多 n 次匹配。
  • (expr) - 捕获 expr 子模式,以 \1 使用它。
  • (?:expr) - 忽略捕获的子模式。
  • (?=expr) - 正向预查模式 expr
  • (?!expr) - 负向预查模式 expr

1.只能输入n个数字

let reg = /^\d{n}$/

 2.至少输入n个以上得数字

let reg = /^\d{n,}$/

3.只能输入m-n个数字

let reg = /^\d{m,n}$/

4.只能由英文字母组成

let reg = /^[a-z]+$/i

5.只能由大写英文字母组成

let reg = /^[A-Z]+$/

6.只能由英文字母和数字组成

let reg = /^[a-z0-9]+$/i

7.只能由英文、数字、下划线组成

let reg = /^\w+$/

8.匹配URL地址

let reg = /^https?:\/\/(([a-zA-Z0-9_-])+(\.)?)*(:\d+)?(\/((\.)?(\?)?=?&?[a-zA-Z0-9_-](\?)?)*)*$/i

9.身份证号(15位、18位数字),最后一位是校验位,可能为数字或字符X

let reg = /^(^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$)|(^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])((\d{4})|\d{3}[Xx])$)$/

10.匹配邮编号

let reg = /^[1-9]\d{5}(?!\d)$/

11.匹配中文字符

let reg = /[\u4e00-\u9fa5]/gm

12.匹配双字节字符 (包括汉字在内,可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)

let reg = /[^\x00-\xff]/igm

13.IPv4地址

let reg = ((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})(\.((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})){3}

14.空白行的正则表达式 (可以用来删除空白行)

let reg = \n\s*\r

15.必须包含大小写字母和数字的组合,不能使用特殊字符,长度在 8-10 之间

let reg = ^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])[a-zA-Z0-9]{8,10}$

16.必须包含大小写字母和数字的组合,可以使用特殊字符,长度在8-10之间

let reg = ^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$

17.以字母开头,长度在6~18之间,只能包含字母、数字和下划线

let reg = ^[a-zA-Z]\w{5,17}$

18.字母开头,允许5-16字节,允许字母数字下划线

let reg = ^[a-zA-Z][a-zA-Z0-9_]{4,15}$

19.Email地址

let reg = ^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$

20.禁止输入含有~的字符

let reg = [^~]+

21.可以输入含有^%&',;=?$\"等字符

let reg = [^%&',;=?$\x22]+

PS:---待更新---

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值