主要内容 : https://www.cnblogs.com/liwenzhou/p/8004649.html
正则表达式:
a : 两种创建正则表达式的方法:
方法一:
var r2 = new RegExp('^1[3-9][0-9]{9}$'); # 不可以写成d{9} 要转义//d r2.test('13411119999') true
方法二:
/^1[3-9][0-9]{9}$/.test('13489889990') #可以写成d{9} , 不需要转义 true
b : i表示忽略大小写的模式, g表示全局匹配模式
var s1 = 'tain happy'; s1.replace('a', '哈哈') "t哈哈in happy" s1.replace(/a/,'呵呵') "t呵呵in happy" s1.replace(/a/i,'嘿嘿') "t嘿嘿in happy" s1.replace(/a/g,'哦哦') "t哦哦in h哦哦ppy"
正则表达式加上一个g就会记录 一个lastindex属性, 用来记录下一次从哪里匹配.如果匹配出错,latrindex再从0开始.
var r3 = /alex/g; r3.test('alex') true r3.test('alex') false r3.test('alex') true
加上开始和结束符可以更加精确
var r5 = /alex/g; r5.test('alex') true r5.test('yingalex') true r5.lastIndex 8 r5.test('alex') false r5.lastIndex 0 var r6 = /^alex$/g; r6.test('alex') true r6.test('yingalex') false
c : 三个注意事项
如果test不给内容, 默认传undefined参数, 如果test给undefined, 会把其变成字符串在进行匹配.
var r3 = new RegExp('^[a-zA-Z][a-zA-Z0-9]{5,11}') r3.test('liuliu') true r3.test() true r3.test(undefined) true
JavaScript的正则表达式中不要加空格,会报错