Check whether a string matches a regex in JS
我想使用javascript(可以与jquery一起使用)进行一些客户端验证,以检查字符串是否与regex匹配:
1 | ^([a-z0-9]{5,})$ |
理想情况下,它是一个返回"真"或"假"的表达式。
我是一个javascript新手,
如果只需要布尔结果,则使用
1 2 3 4 5 | /^([a-z0-9]{5,})$/.test('abc1'); // false /^([a-z0-9]{5,})$/.test('abc12'); // true /^([a-z0-9]{5,})$/.test('abc123'); // true |
…你可以从你的regexp中删除
采用
1 2 3 4 5 6 7 | var term ="sample1"; var re = new RegExp("^([a-z0-9]{5,})$"); if (re.test(term)) { console.log("Valid"); } else { console.log("Invalid"); } |
您也可以使用
1 2 3 | if (str.match(/^([a-z0-9]{5,})$/)) { alert("match!"); } |
但你在这里读到的,
1 2 3 4 5 6 | 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 |
如果只想知道字符串是否与regexp匹配,请使用
下面是一个查找特定HTML标记的示例,因此很明显,
1 | if(/(span|h[0-6]|li|a)/i.test("h3")) alert('true'); |
1 2 3 | let str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'; let regexp = /[a-d]/gi; console.log(str.match(regexp)); |
我建议使用Execute方法,如果不存在匹配项,它将返回空值,否则它将返回一个有用的对象。
1 2 3 4 5 | let case1 = /^([a-z0-9]{5,})$/.exec("abc1"); console.log(case1); //null let case2 = /^([a-z0-9]{5,})$/.exec("pass3434"); console.log(case2); // ['pass3434', 'pass3434', index:0, input:'pass3434', groups: undefined] |
尝试
1 | /^[a-z\d]{5,}$/.test(str) |
1 2 3 | console.log( /^[a-z\d]{5,}$/.test("abc123") ); console.log( /^[a-z\d]{5,}$/.test("ab12") ); |
请试试这朵花:
1 |
true