我想要做一些我认为会很容易做的事情,即通过匹配正则表达式来限制字符串到某些字符。.match()用正则表达式返回null
var value = 'FailureStr1ng';
var type = 'ALPHA';
var regex = null;
switch(type) {
case 'ALPHA':
regex = '^[a-zA-Z]+$';
break;
case 'NUMERIC':
regex = '^[0-9]+$';
break;
case 'ALPHANUMERIC':
regex = '^[a-zA-Z0-9]+$';
break;
}
return value.match(regex);
由于某种原因,使用匹配时它总是返回null
。有没有办法解决这个问题,或更好的方法来做到这一点?
注意:这里的代码是一个更大的代码片段,反过来,值和类型变量通常由另一个方法定义。
它返回null,因为你在字符串中有一个'1',所以它不匹配。将其更改为有效的字符串将返回该字符串。 http://jsfiddle.net/GLVAj/ – 2011-12-29 04:05:34