我的条件(indexof)不起作用。请让我知道。
请帮助
在条件允许的情况下,+918869472915
是一个印度号,但它返回我的假。这是我的问题。
代码如下:
var obj = ['+919820530598', '+918869472915', '+912222551515', '+912212315', '+912265561115', '+4471628111', '+4471613222', '4471245678'];
var checkNumber = obj;
$.each(checkNumber, function (i, val) {
debugger;
if (val.indexOf(9) == 1) {
debugger;
if (val.indexOf(1) == 11 && val.indexOf(5) == 12) {
debugger;
alert(val + ' is a Indian Mobile Number ');
}
else {
alert(' Mobile Number ' + val + ' Not in the List of UK and India ');
}
}
else if (val.indexOf(+44) == 1) {
debugger;
if (val.indexOf(6) == 3 && val.indexOf(8) == 5) {
debugger;
alert(val + ' is a UK Mobile Number ');
}
else {
alert(' Mobile Number ' + val + ' Not in the List of UK and India ');
}
}
})
&#39 + 919820530598' =不是印度号码以及英国号码
&#39 + 919869472915' =印度号码
答案 0 :(得分:1)
您应该使用正则表达式来测试电话号码。您可以在此处搜索现成的正则表达式:http://regexlib.com/
找到合适的图案后,请按照以下方式使用:
var checkNumber = ['+919820530598', '+4471245678', '+447222555555'];
var IndianNumPattern = /^(\+91|0091)?[7-9][0-9]{9}$/;
var UkNumPattern = /^(\+44\s?7\d{3}|\(?07\d{3}\)?)\s?\d{3}\s?\d{3}$/
$.each(checkNumber, function (i, val) {
if (IndianNumPattern.test(val)) {
alert(val + ' is a Indian Mobile Number ');
} else if (UkNumPattern.test(val)) {
alert(val + ' is a UK Mobile Number ');
} else {
alert(' Mobile Number ' + val + ' Not in the List of UK and India ');
}
});
答案 1 :(得分:0)
您需要使用indexOf函数和字符串,如下所示
Example :
val.indexOf("welcome") ;
val.indexOf("9") ;
试试吧