Javascript simple regexp doesn't work
I have this code, it looks alright and is really basic,开发者_运维知识库 but i can't make it work:
function checkValid(elem){
var abc = elem.value;
var re = "/[0-9]/";
var match = re.test(abc);
alert(match);
}
It matches 0 and 9, but not 1 to 8, what's wrong here? Thanks.
re
is a string, not a RegExp object.
You need to use a regex literal instead of a string literal, like this:
var re = /[0-9]/;
Also, this will return true for any string that contains a number anywhere in the string.
You probably want to change it to
var re = /^[0-9]+$/;
Try removing the double quotes...
var re = /[0-9]/;
Use \d to match a number and make it a regular expresison, not a string:
var abc = elem.value;
var re = /\d/;
var match = re.test(abc);
alert(match);
精彩评论