2015-03-18 2 views
0

У меня есть следующее для проверки длины, но как я могу проверить только числовые значения?Проверка подлинности jquery для числовой записи?

function cmdvalidate() { 
     if (len($('#txtReqAreaCode').val()) < 3) { 
      alert("Please check the requester's phone number. It must be 10 digits."); 
      $('#txtReqAreaCode').focus(); 
      return false; 
     } else if (len($('#txtRequestorPhone').val()) < 3) { 
      alert("Please check the requester's phone number. It must be 10 digits."); 
      $('#txtRequestorPhone').focus(); 
      return false; 
     } else if (len($('#txtRequestorPhonePt2').val()) < 4) { 
      alert("Please check the requester's phone number. It must be 10 digits."); 
      $('#txtRequestorPhonePt2').focus(); 
      return false; 
+0

Пожалуйста, google и прочитайте [documentation] (http://api.jquery.com/jquery.isnumeric/) –

+0

multipie и если больше, то 0 его номер – Grumpy

ответ

0

Есть много способов сделать это (RegExp, сравнение ParseInt, ...), но, как вы используете JQuery в любом случае просто использовать jQuery's isNumeric функцию.

0

Прежде всего, вы используете много ненужного дублирования в своем коде.

alert("Please check the requester's phone number. It must be 10 digits."); 
     $('#txtRequestorPhonePt2').focus(); 
     return false; 

Показан три раза. Попробуйте хранить phone_length и phone_string в переменных

var phone_length = $('#txtReqAreaCode').text().length + 
$('#txtRequestorPhone').text().length + $('#txtRequestorPhonePt2').text.length() 

var phone_string = $('#txtReqAreaCode').val() + $('#txtRequestorPhone`).val() + 
$('txtRequestorPhonePt2').val(); 

Тогда, ваша главная функция должна быть

if (phone_length < 10 && phone_string.search(/\D/) !== -1) { 
    alert("Please check the requester's phone number. It must be 10 digits."); 
    $('#txtRequestorPhonePt2').focus(); 
    return false; 
} 

метод в JavaScript string#search ищет строку для конкретного шаблона. В этом случае я использовал символ regex /\D/, чтобы найти что-либо, что не является цифрой.

Функция поиска возвращает индекс совпадающего символа. Если он не найден, он вернет -1.