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

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进行正则匹配返回匹配结果数组,如匹配不到返回null
str.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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值