- 身份证号校验,支持末尾X
/(^\d{18}$)|(^\d{17}(\d|X|x)$)/
- 姓名校验,支持藏族
/^[\u4E00-\u9FA5\uf900-\ufa2d·sa-zA-Z]{2,20}$/
- 手机号码校验
/^1[3456789]\d{9}$/
正则表达式使用的时候包括主体和修饰符,由正斜杠 '/' 声明
var patt = /regstr/igm
- i 大小写不敏感
- g 全局匹配,而不是找到第一个就停止
- m 多行匹配
修饰符可以组合使用
js字符串内置了对正则表达式的处理方法
- search 检索字符串中指定的字符串,返回存在的索引位置
- replace 用一些匹配正则表达式的子串替换字符串中的内容
var str = "hello world"
str.search(/world/i)
// 6
var str = "hello world"
var str2 = str.replace(/world/i, "js")
str2
// hello js
一个提供了预定义属性和方法的对象,有两种初始化方式
var patt = /hello/g
var patt = new RegExp("hello", "g")
- test 检测字符串中是否有匹配的内容,返回true/false
- exec 检索字符串中匹配,返回一个数组存放匹配的结果(可能是多个),无则返回null
var patt = /hello/i
patt.test("hello world") // true
patt.test("bye world") // false
var patt = /hello/g
patt.exec("hello world, hello my friend")
// ["hello", index: 0, input: "hello world, hello my friend", groups: undefined]
patt.exec("hello world, hello my friend")
// ["hello", index: 13, input: "hello world, hello my friend", groups: undefined]
patt.exec("hello world, hello my friend")
// null