2014-03-13 12 views
0

正则表达式不能读取完整的字符串,只能正确处理单个字符。JavaScript中的正则表达式不起作用

var abc = "ab"; 
var patter = /^([a-z0-9A-Z])$/; 

if (patter.test(abc)) { 
    console.log('yes'); 
} else { 
    console.log('no'); 
} 
+0

你的正则表达式只匹配一个字符,你需要使用量词,见这里http://www.regular-expressions.info/refrepeat.html – elclanrs

回答

2

当你不想要一个字符时,你必须设置一个量词。

添加一个*以匹配零个或多个字符(或者如果您想确保至少有一个字符是+);

var patter = /^[a-z0-9A-Z]*$/; 

请注意,我删除了括号:它们与test方法无关。