检查字符串是否与JS中的正则表达式匹配我想使用JavaScript(可以使用jQuery)进行一些客户端验证来检查字符串是否与正则表达式匹配:^([a-z0-9]{5,})$理想情况下,它将是一个返回true或false的表达式。我是一个JavaScript新手,确实match()做我需要的东西?它似乎检查字符串的一部分是否匹配正则表达式,而不是整个事物。
3 回答
慕码人8056858
TA贡献1803条经验 获得超6个赞
使用regex.test()
,如果你想要的是一个布尔结果:
/^([a-z0-9]{5,})$/.test('abc1'); // false
/^([a-z0-9]{5,})$/.test('abc12'); // true
/^([a-z0-9]{5,})$/.test('abc123'); // true
...而且你可以()从正则表达式中删除它,因为你不需要捕获。
偶然的你
TA贡献1841条经验 获得超3个赞
使用test()
方法:
var term = "sample1";var re = new RegExp("^([a-z0-9]{5,})$");if (re.test(term)) { console.log("Valid");} else { console.log("Invalid");}
牛魔王的故事
TA贡献1830条经验 获得超3个赞
你也可以使用match():
if (str.match(/^([a-z0-9]{5,})$/)) {
alert("match!");
}
但test()
似乎更快,因为你可以在这里阅读。
match()和之间的重要区别test():
match()仅适用于字符串,但test()也适用于整数。
12345.match(/^([a-z0-9]{5,})$/); // ERROR
/^([a-z0-9]{5,})$/.test(12345); // true
/^([a-z0-9]{5,})$/.test(null); // false
// Better watch out for undefined values
/^([a-z0-9]{5,})$/.test(undefined); // true
添加回答
举报
0/150
提交
取消