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的正则表达式中不要加空格,会报错

  

 

  

原文地址:https://www.cnblogs.com/gyh412724/p/9596283.html