我试图做一件我觉得应该很容易的事情,即通过匹配正则表达式来限制字符串中的某些字符。
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);
由于某些原因,当使用match时它总是返回null
。有没有办法修复这个问题,或者有更好的方法来解决这个问题?
注意:此处的代码是一个更大代码段的片段,而且值和类型变量通常由另一个方法定义。
1
,所以它不匹配。将其更改为有效字符串将返回该字符串。http://jsfiddle.net/GLVAj/ - James Montagne