我想要做一些我認爲會很容易做的事情,即通過匹配正則表達式來限制字符串到某些字符。.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