day 45 JavaScript 下 函数
主要内容 : 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的正则表达式中不要加空格,会报错

浙公网安备 33010602011771号