js正则方法test与match简单介绍

来源:互联网 发布:淘宝管家官方下载 编辑:程序博客网 时间:2024/05/17 00:08

1.写一个简单姓名校验

/***校验英文名,true:yangzi, li xiao xiao, li si, wang/wu*/function checkName(str){var reg = /^((([a-zA-Z]+ ){1,2}[a-zA-Z]+)|([a-zA-Z]+\/[a-zA-Z]+)|[a-zA-Z]+)$/;return reg.test(str);}console.log(checkName("wang wu xi"));
》true


简单说下test(),exec()和match()的区别:

test(),exec()是RegExp对象方法,match()是String对象方法。
用法说明返回值pattern.test(str)判断str是否包含匹配结果包含返回true,不包含返回false。pattern.exec(str)根据pattern对str进行正则匹配返回匹配结果数组,如匹配不到返回nullstr.match(pattern)根据pattern对str进行正则匹配返回匹配结果数组,如匹配不到返回null

RegExp的实例有哪些属性:

  • global: 布尔值,表示是否设置了 g 标志
  • ignoreCase: 布尔值,表示是否设置了 i 标志
  • lastIndex: 搜索下一个匹配项时开始的位置,从0开始
  • multiline: 布尔值,表示是否设置了 m 标志
  • source: 正则表达式的字符串表示
exec 方法受参数 g 的影响。若指定了 g,下次调用 exec 时会从上个匹配的 lastIndex 开始查找。看个例子:
var reg = /\d/;console.log(reg.exec("bb12"));console.log(reg.lastIndex);console.log(reg.exec("bb12"));console.log(reg.lastIndex);
》["1", index: 2, input: "bb12"]
 0
 ["1", index: 2, input: "bb12"]
 0
var reg = /\d/g;console.log(reg.exec("bb12"));console.log(reg.lastIndex);console.log(reg.exec("bb12"));console.log(reg.lastIndex);
》["1", index: 2, input: "bb12"]
 3
 ["2", index: 3, input: "bb12"]
 4

match()可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。
var reg = /[a-c]/ig;console.log("adfBCcqwe".match(reg));
》["a", "B", "C", "c"]


文章参考:https://segmentfault.com/a/1190000003497780

阅读全文
0 0