任何人都可以使用加纳数字格式帮助如何验证此脚本中的手机号码。该脚本仅使用印度手机号码进行验证。我想使用加纳手机号码来验证代码。
加纳手机号码从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"> 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(' <img src="images/ok.png" align="absmiddle"> 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(' <img src="images/alert.png" align="absmiddle"> <font color="red">Please Enter <strong>Valid</strong> Mobile No.</font>');
$("#mobile").removeClass('object_ok'); // if necessary
$("#mobile").addClass("object_error");
}
});
});
答案 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。
如果您不想坚持使用脚本,请使用其他答案(我推荐)中提供的正则表达式。