0

我想制作一个测试手机号码的正则表达式(10位,起始位可以是7,8或9)

我解决了这个 -> /^(7|8|9)[\d]{9,9}$/

我的代码是

function testPhone()
    {
       var pattern = /^(7|8|9)[\d]{9,9}$/;
        var phoneNo = document.getElementById('phoneNo');

            if (!pattern.test(phoneNo))
            {
                alert("It is not valid mobile number!");
            }

    }



 <input type="text" name="phoneNo"  maxlength="10"  size="10"  >
 <input type="submit" value="Search" onclick="testPhone()">

不知何故,它总是显示警报消息。我还在这里 (http://www.regextester.com/) 测试了我的正则表达式。它在这里工作。请帮忙。

4

3 回答 3

4

它是

var phoneNo = document.getElementById('phoneNo').value;

注意.value.

哦,你的输入没有id.

于 2012-11-11T14:15:05.563 回答
3

你忘了.value

var phoneNo = document.getElementById('phoneNo').value;

试试这个模式,

^[7-9](\d){9}$
于 2012-11-11T14:17:45.710 回答
1

它应该是

var phoneNo = document.getElementById('phoneNo').value;
                                                   ^

和正则表达式应该是

/^(7|8|9)\d{9}$/

不需要 {9,9}[\d]

于 2012-11-11T14:15:44.550 回答