Javascript简单regexp不';行不通

Javascript简单regexp不';行不通,javascript,regex,Javascript,Regex,我有这个代码,它看起来不错,而且非常基本,但我无法让它工作: function checkValid(elem){ var abc = elem.value; var re = "/[0-9]/"; var match = re.test(abc); alert(match); } 它匹配0和9,但不是1到8,这里怎么了?谢谢。re是一个字符串,不是RegExp对象 您需要使用正则表达式文字而不是字符串文字,如下所示: var re = /[0-9]/; 此外,对于字符串中

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

function checkValid(elem){

 var abc = elem.value;

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

 var match = re.test(abc);

 alert(match);
}

它匹配0和9,但不是1到8,这里怎么了?谢谢。

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

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

var re = /[0-9]/;

此外,对于字符串中任何位置包含数字的任何字符串,这将返回true。
你可能想把它改成

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

re
是字符串,不是RegExp对象

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

var re = /[0-9]/;

此外,对于字符串中任何位置包含数字的任何字符串,这将返回true。
你可能想把它改成

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

尝试删除双引号

 var re = /[0-9]/;

尝试删除双引号

 var re = /[0-9]/;

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

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

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

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