2010-05-16 85 views
0

我有這樣的代碼,它看起來正常的,是很基本的,但我不能讓它工作:的Javascript簡單的正則表達式不起作用

function checkValid(elem){ 

var abc = elem.value; 

var re = "/[0-9]/"; 

var match = re.test(abc); 

alert(match); 
} 

它匹配0和9,而不是1到8 ,這裏有什麼問題?謝謝。

回答

0

使用\ d匹配一個數字,使之成爲正規expresison,而不是一個字符串:

var abc = elem.value; 
var re = /\d/; 
var match = re.test(abc); 
alert(match); 
+0

謝謝!現在它工作:) – bah 2010-05-16 23:36:25

3

re是一個字符串,而不是RegExp對象。

你需要使用正則表達式的文字,而不是一個字符串,像這樣:

var re = /[0-9]/; 

而且,這會爲一個包含若干個字符串中的任何地方的任何字符串返回true。
你可能想將其更改爲

var re = /^[0-9]+$/; 
3

嘗試刪除雙引號...

var re = /[0-9]/;