2014-08-01 4 views
-2

Мое состояние (indexof) не работает. Пожалуйста, дай мне знать .JQuery indexof Не работает

Просьба помочь

В Condition, +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 '); 
       } 
      } 
     }) 

'+919820530598' = не индийский номер, а также Великобритании Номер

'+919869472915' = индийский номер

+2

Вы используете 'строки 'в вашем массиве и в целых' indexOf'' – GuyT

+0

'val.indexOf (" 9 ")' конвертировать ваши аргументы 'indexOf' в строки тоже – GillesC

+0

Да, вы правы Mr.GuyT. как отсортировать его. Пожалуйста, дайте мне знать. – HPR

ответ

0

Вы должны использовать функцию IndexOf шпагатом, как показано ниже

Example : 

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

попробовать это

+0

Привет, команда, которой вы не получаете мой вопрос.my Первое условие есть, если номер мобильного телефона начинается с +91, тогда он должен быть индийским номером. Второе условие: последние две цифры мобильного номера должны быть 15, тогда это номер Индии. – HPR

+0

Г-н Динеш .it не работает. – HPR

+0

, если я получаю ту же цифру на своем мобильном телефоне, Мое это условие, если (val.indexOf (1) == 11 && val.indexOf (5) == 12) не работает У кого-нибудь есть ответ за то же самое. – HPR

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/

+0

Команда i хочу доказать '+919820530515' как индийский номер с условием следующим образом: if (val.indexOf (1) == 11 && val.indexOf (5) == 12) { отладчик; alert (val + '- индийский номер мобильного телефона); } – HPR

+0

MR.Henri Hietala Валидация правильная. Но если вы прочитали мой вопрос, есть полностью 4 If Condition. Вы дали мне ответ. Для 1-го и 3-го If Condition. Мне нужен ответ для 2-го и 4-го условий. – HPR

+0

Просто измените регулярные выражения. Честно говоря, я понятия не имею, что вы думаете об этих заявлениях. –

Смежные вопросы