检查字符串是否与JS中的正则表达式匹配

检查字符串是否与JS中的正则表达式匹配

我想使用JavaScript(可以使用jQuery)进行一些客户端验证来检查字符串是否与正则表达式匹配:

^([a-z0-9]{5,})$

理想情况下,它将是一个返回true或false的表达式。

我是一个JavaScript新手,确实match()做我需要的东西?它似乎检查字符串的一部分是否匹配正则表达式,而不是整个事物。


隔江千里
浏览 1069回答 3
3回答

慕码人8056858

使用regex.test(),如果你想要的是一个布尔结果:/^([a-z0-9]{5,})$/.test('abc1');   // false/^([a-z0-9]{5,})$/.test('abc12');   // true/^([a-z0-9]{5,})$/.test('abc123');   // true...而且你可以()从正则表达式中删除它,因为你不需要捕获。

偶然的你

使用test()方法:var term = "sample1";var re = new RegExp("^([a-z0-9]{5,})$");if (re.test(term)) {     console.log("Valid");} else {     console.log("Invalid");}

牛魔王的故事

你也可以使用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
打开App,查看更多内容
随时随地看视频慕课网APP