Javascript 正则表达式

博客介绍了正则表达式,它用单个字符串描述、匹配符合句法规则的字符串搜索模式。阐述了其语法、RegExp对象方法,说明了正则表达式常用于校验及搜索/替换,还介绍了字符类匹配、重复字符匹配,最后列举了身份证、金额、正整数等常用正则校验。

一、什么是正则表达式?
正则表达式(Regular Expression)使用单个字符串来描述、匹配一系列符合某个句法规则的字符串搜索模式。
二、语法

/正则表达式主体/修饰符(可选)

eg:  var regex = /test/i

注: /test/i是一个正则表达式;test是正则表达式主体,用于检索;i是搜索不区分大小写的修饰符
常用修饰符:

修饰符描述
i执行对大小写不敏感的匹配
g执行全局匹配
m执行多行匹配

三、RegExp 对象方法

var str = "hello world"
方法描述实例
test()检索字符串中指定的值,存在返回true, 不存在返回falsevar regex = /hello/g; console.log(regex.test(str)); //true
exec()检索字符串种指定的值,返回找到的值, 无该值返回nullvar regex = /hello/g; console.log(regex.exec(str)); //[“hello”, index: 0, input: “hello world”, groups: undefined]
toString()返回正则表达式字符串var regex = /hello/g; console.log(regex.toString()); //hello/g

四、正则表达式的使用
正则表达式通常用于校验以及搜索/替换,校验时通常需要在前后分别加上^和$,以匹配整个待验证字符串;
1)字符类匹配

[…] 查找方括号之间的任何字符
[^…] 查找任何不在方括号之间的字符
[a-z] 查找任何从小写 a 到小写 z 的字符
[A-Z] 查找任何从大写 A 到大写 Z 的字符
[A-z] 查找任何从大写 A 到小写 z 的字符
. 查找单个字符,除了换行和行结束符
\w 查找单词字符,等价于[a-zA-Z0-9]
\W 查找非单词字符,等价于[^a-zA-Z0-9]
\s 查找空白字符
\S 查找非空白字符
\d 查找数字,等价于[0-9]
\D 查找非数字字符,等价于[^0-9]
\b 匹配单词边界
\r 查找回车符
\t 查找制表符
\0 查找 NULL 字符
\n 查找换行符

2)重复字符匹配

{n,m} 匹配前一项至少n次,但不能超过m次
{n,} 匹配前一项n次或更多次
{n} 匹配前一项n次
n? 匹配前一项0次或者1次,也就是说前一项是可选的,等价于{0,1}
n+ 匹配前一项1次或多次,等价于{1,}
n* 匹配前一项0次或多次,等价于{0,}
n$ 匹配任何结尾为 n 的字符串
^n 匹配任何开头为 n 的字符串
?=n 匹配任何其后紧接指定字符串 n 的字符串
?!n 匹配任何其后没有紧接指定字符串 n 的字符串

五、常用正则校验

验证类型正则表达式
手机号/^0?(13[0-9]
电子邮箱/^\w+([-+.]\w+)@\w+([-.]\w+).\w+([-.]\w+)*$/
密码【6-20位】/^[@A-Za-z0-9!#%^&*.~,]{6,20}/
固话/0\d{2,3}-\d{7,8}/
纳税识别号/^((\d{6}[0-9A-Z]{9})
账户名称【汉字、字母、数字、“-”、“_”的组合】/[A-Za-z0-9_-\u4e00-\u9fa5]$/
身份证正则表达式会识别成脚注,单独写在下面
金钱如下所示
正整数如下所示

身份证验证:

/^[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{3}([0-9]|X)$/

金额验证:

/(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/

正整数【不包含0】的验证:

/^[1-9]\d*$/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值