Javascript简单的正则表达式不起作用

时间:2010-05-16 23:26:53

标签: javascript regex

我有这个代码,它看起来不错,而且非常基本,但我不能让它起作用:

function checkValid(elem){

 var abc = elem.value;

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

 var match = re.test(abc);

 alert(match);
}

匹配0和9,但不是1到8,这里有什么问题?感谢。

3 个答案:

答案 0 :(得分:3)

re是一个字符串,而不是一个RegExp对象。

您需要使用正则表达式文字而不是字符串文字,如下所示:

var re = /[0-9]/;

此外,对于在字符串中任何位置包含数字的任何字符串,这将返回true 您可能想将其更改为

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

答案 1 :(得分:3)

尝试删除双引号...

 var re = /[0-9]/;

答案 2 :(得分:0)

使用\ d匹配数字并使其成为正则表达式,而不是字符串:

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