match()方法:可在字符串中找到指定的值,或者找到一个或者多个正则表达式的匹配。
形式:str.match('str') str.match(/regexp/) //str指字符串
console.log('http://giftwrapped.com/picture.jpg'.match('.gif'))
返回的结果是:
返回的是一个数组,0:首次匹配的结果,尽管字符串中可能会包含多个需要查询的指定字符串,但是由于不是全局检索,所以只会返回首次出现的指定字符串。
index:首次出现字符串的索引index。
input: 相当于需要检索的整个字符串。
groups:undefined //ps.这个我也不太懂是什么属性
上面是查找指定字符串成功的结果。如果是查找失败,结果返回一个null。
console.log('my name is zhangSiMing, my age is 23'.match(/ng/g));
上面是查找指定正则表达式的匹配的值,而且是全局查找。
返回的结果是一个数组,是所有查找到的结果。
那么,如果不是全局查找呢?
console.log('my name is zhangSiMing, my age is 23'.match(/ng/));
结果:
其实和查找指定字符串 一样的形式结果,返回一个数组。因为当你传入一个字符串时,它会自动先帮你转换为一个正则表达式。
同理,如果查询失败,返回一个null
test() 用于字符串,返回true/false
RegExpObject.test(string) 如果字符串 string 中含有与 RegExpObject 匹配的文本,则返回 true,否则返回 false。
RegExpObject 是一个正则表达式对象 var reg = new RegExp('abcndnskhkgjkg') ==> reg:/abcndnskhkgjkg/