Javascript Regex:验证电话号码

Ash*_*ani 1 javascript regex jquery

我想验证一个必须以09开头的11位电话号码(即09123456789),使用javascript进行客户端检查.

这是我的代码:

function validatePhone(number) {
    var re = /^09[0-9]{9}$/;
    return re.test(number);
}
Run Code Online (Sandbox Code Playgroud)

据我所知,它最初工作正常,但现在它对我使用的任何数字都返回无效.有谁知道我的代码有什么问题?顺便说一下,当我使用jQuery时,如果有一个更好的方法,jquery会更好.

Ati*_*din 6

我假设您在参数中发送一个整数,将其作为字符串传递

function validatePhone(number) {
    var re = /^09[0-9]{9}$/;
    return re.test(number);
}

?alert(validatePhone('09123456789'));???
// returns true    
alert(validatePhone(09123456789));    
// returns false    ?
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/3bFwd/

  • @AshkanMobayenKhiabani,Atif:`.text()`和`.val()`都返回一个字符串.实际的问题是`.text()`不返回值,所以你得到一个空字符串,而不是一个数字. (3认同)