1

我有一个文本框,用户需要输入他/她的手机号码。但是,我需要验证前 2 个数字(字符)以确保手机号码的格式正确(作为验证规则之一)。

手机号码需要以以下 2 位数字中的任何一个开头:

44xxxxxx 55xxxxxx 65xxxxxx 78xxxxxx

谁能告诉我如何验证前两个字符编号并检查它们是否是上述选项之一?

编辑 这是我尝试过的,但没有奏效:

HTML

<input id="mob" name="mob" type="tel" placeholder="Enter your mobile number">
<a href="#" id="validate">Validate</a>

​ JS

var mobile_prefix = $('#mob').subsubstr(0,2);
$('#validate').click(function(){
if (mobile_prefix == 44||55||65||78) {
alert('correct');
}
else {
    alert('incorrect');
}
});

​</p>

4

4 回答 4

7

我认为.match()有你想要的。只是复习一些正则表达式

if (StringFromSelectField.match(/^(44|55|65|78)/)) {
    //do something
}
于 2012-12-28T14:50:22.097 回答
2

substring从 javascript使用

var FirstTwoLetters = TextFromYourInput.substring(0,2);

然后您可以将前两个字母与您的模式进行比较。

于 2012-12-28T14:47:18.507 回答
2

使用正则表达式可能是最简单的:

({phone number}).match(/^(44|55|65|78).*$/)
于 2012-12-28T14:53:27.100 回答
0

因此,输入字段的第一个变量;我的方式;)首先检查该输入是否不为空并且具有 3 个或更多符号。最后是变量,我最后使用它来允许 form.submit()。如果您愿意,可以在每次获取 val() 之前添加$.trim(postcode.val()) != ''

var postcode = $('#post_code');
        if(postcode.val() != '' && postcode.val().length > 2){
            var shortPostCode = postcode.val().substring(0,2);
            var validPostCode = /^(EH|KY)/;
            if(!shortPostCode.match(validPostCode)){
                postcode.after('<span class="error">Post code must start with EH</span>');
                dataValid = false;
            }
        }
于 2013-02-27T15:55:58.013 回答