验证手机号码

时间:2012-10-21 12:52:17

标签: php javascript mobile

任何人都可以使用加纳数字格式帮助如何验证此脚本中的手机号码。该脚本仅使用印度手机号码进行验证。我想使用加纳手机号码来验证代码。

加纳手机号码从02或05开始。谢谢你。

     pic1 = new Image(16, 16); 
pic1.src = "images/loader.gif";

/*function mobile_validation(mobile_number)
{
    var first_digit = mobile_number.charAt(0);
    var number_length = mobile_number.length;
    if(!isValid(mobile_number, 'numeric'))
        return "Please enter valid mobile number.";
    if(mobile_number.indexOf("+91") != -1 || mobile_number.indexOf("0") == 0 || number_length != 10) //ghana country code is +233
        return "Please enter valid mobile number.";
    if(first_digit != 9 && first_digit != 8 && first_digit != 7) //want to change to 02 or 05
        return "Please enter a valid mobile number.";
    if(mobile_number == "9867045061")
        return "Please enter a valid mobile number.";
    return "valid";
}*/

$(document).ready(function(){

$("#mobile").change(function() { 

var usr = $("#mobile").val();
var first_digit = usr.charAt(0);
var number_length = usr.length;

if(usr.length == 10 && !isNaN(usr) && first_digit == 9 || first_digit == 8 || first_digit == 7) // want to change to 02 or 05
{
$("#statusmb").html('<img src="images/loader.gif" align="absmiddle">&nbsp;Sending Verification Code...');

    $.ajax({  
    type: "POST",  
    url: "verify_mobile.php",  
    data: "mobile="+ usr,  
    success: function(msg){  

   $("#statusmb").ajaxComplete(function(event, request, settings){ 

    if(msg == 'OK')
    { 
        $("#mobile").removeClass('object_error'); // if necessary
        $("#mobile").addClass("object_ok");
        $(this).html('&nbsp;<img src="images/ok.png" align="absmiddle">&nbsp;Verification Code Sent to Mobile');
        document.getElementById('btnSubmit').disabled =false;
    }  
    else  
    {  
        $("#mobile").removeClass('object_ok'); // if necessary
        $("#mobile").addClass("object_error");
        $(this).html(msg);
        document.getElementById('btnSubmit').disabled =true;
    }  

   });

 } 

  }); 

}
else
    {
    $("#statusmb").html('&nbsp;<img src="images/alert.png" align="absmiddle">&nbsp;<font color="red">Please Enter <strong>Valid</strong> Mobile No.</font>');
    $("#mobile").removeClass('object_ok'); // if necessary
    $("#mobile").addClass("object_error");
    }

});

});

3 个答案:

答案 0 :(得分:2)

您可以将正则表达式用作

var regexMobile = /^[0-9]+$/;
if (mobileLength < 10 || !mobile.match(regexMobile)) {
    document.getElementById("mobile_error").innerHTML = "Enter valid 10 digit Mobile Number";
    return false;
}

答案 1 :(得分:0)

假设格式为02或05,后跟未定义的数字。然后这个正则表达式应该:

function mobile_validation(mobile_number){
 return mobile_number.match(/^0[2,5]{1}[0-9]+$/) == null? "Please enter a valid mobile number.": "Valid"
}

答案 2 :(得分:0)

使用正则表达式可以更好地处理手头的问题。该脚本甚至可以匹配印度数字模式。

此外,它的方式,似乎脚本正在对长度和起始数字进行基本验证,然后将其发送到服务器进行进一步(可能更深)验证,如行中所示

url: "verify_mobile.php",

如果您正在做的事情也是如此,那么您只需更改行

即可
if(usr.length == 10 && !isNaN(usr) && first_digit == 9 || first_digit == 8 || first_digit == 7) // want to change to 02 or 05

if(usr.length == 10 && !isNaN(usr) && first_digit == 0)

假设加纳数字的长度为10。

如果您不想坚持使用脚本,请使用其他答案(我推荐)中提供的正则表达式。