1、直接字面量创建
var exp = /\w+|\d+/g;2、使用RegExp对象创建 通过对象创建,注意内部写法,例如:\d == \\d 需要转义
var exp = new RegExp("")1、()、[ ] 、 { } 符号区别 () :表示子表达式,用于提取相匹配的字符串。表达式中有几个()就会得到几个相应的匹配字符串。例如(\s+)表示匹配连续空格字符。 [ ] : 表示匹配的字符范围。例如 [0-9 ],查找0至9范围内的数字,仅限数字。 { } :表示匹配长度。例如,\d{6} 表示匹配6个数字;\d{1,6}表示最少匹配一个数,最多匹配6个数;\d{1,}表示匹配1个数以上,贪婪匹配。
2、^ 和 $ 符号用法
// ^ 表示以字符开始 var reg = /^\d/ // 以数字开头 // $ 表示匹配以一个字符结尾 reg = /\d$/ // 以数字结尾 // 一般是以 ^ 与 $ 配合使用,用来匹配完整字符串 reg = /^1[3578]\d{9}$/ // 校验手机号格式是否正确^ 字符,除了用于以字符匹配开始作用,还有个作用就是取反的作用,这个用法还是挺多的,例如:
var reg = /[^356]/g // 表示匹配除了356以外的字符3、\d 、 \s 、 \w . 用法 \d:表示匹配一个非负整数,等价于 [0-9]; \s:表示匹配一个空白字符; \w:匹配一个英文字母或数字,等价于[0-9a-zA-Z]; . :匹配除了换行符以外的任意字符,等价于[^\n]
4、* + ?用法 *:贪婪匹配,表示匹配前面元素0次或多次; +:贪婪匹配,表示匹配前面字符1次或多次; ?:匹配前面0次或1次,惰性匹配等价于{0,1},例如(\w?)就是匹配最多由一个字母或数字组成的字符串
5、$1 和 \1后向引用 用法 $1-$9 表示存放着正则表达式中最近的9个正则表达式匹配到的结果,这些结果按照子匹配的出现顺序依次排列。例如:
// 使用RegExp var reg = /(\d+)-(\d+)-(\d+)/; reg.test("2020-11-11"); // RegExp.$n 静态方法 RegExp.$1 // 2020 // 在relpace中使用 "2020-11-11".replace(reg, "$1年$2月$3日") // 2020年11月11日 86\1 表示后向引用,是指在正则表达式中,从左往右数,第1个子表达式()中的内容,以此类推,\2表示第2个子表达式(),\0表示整个表达式。例如:
//匹配日期格式,表达式中的\1代表重复(\-|\/|.) var rgx = /\d{4}(\-|\/|.)\d{1,2}\1\d{1,2}"/ rgx.test("2016-10-24") //true rgx.test("2020-10.24") //falsetest() 用于检测字符串是否匹配该表达式,如果匹配就会返回 true 否则 false。例如:
/\d+/.test("1024") // true /\d+/.test("RegExp") // falsematch() 是获取该正则表达式匹配到的结果,以数组的形式返回。例如:
"1024".match(/\d/g) // ["1","0","2","4"][使用案例] https://www.jb51.net/article/118265.htm
https://www.jb51.net/article/118265.htm https://blog.csdn.net/u012118993/article/details/78557669
