我有这个代码,它看起来不错,而且非常基本,但我不能让它起作用:
function checkValid(elem){
var abc = elem.value;
var re = "/[0-9]/";
var match = re.test(abc);
alert(match);
}
匹配0和9,但不是1到8,这里有什么问题?感谢。
答案 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);