Jquery indexof Not Working

时间:2014-08-01 10:06:28

标签: jquery

我的条件(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' =印度号码

2 个答案:

答案 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 ');
    }
});

演示:http://jsfiddle.net/8ZPXX/

答案 1 :(得分:0)

您需要使用indexOf函数和字符串,如下所示

Example :

val.indexOf("welcome") ;
val.indexOf("9") ;

试试吧