Подтвердить что ты не робот

Проверка Если в ввод введены только числовые значения. (JQuery)

Я хотел бы проверить, вводит ли пользователь правильный номер телефона, с помощью jQuery, до сих пор я дошел до этого этапа:

var phone = $("input#phone").val();
if (phone !== "") {
    //Check if phone is numeric
    $("label#phone_error").show(); //Show error
    $("input#phone").focus(); //Focus on field
    return false;
}

В основном, он проверяет, был ли введен номер телефона, и если бы это было так, я хотел бы проверить, является ли это числовым значением, и если оно не отображает сообщения об ошибках. Может ли кто-нибудь помочь с проверкой, является ли это числовым?

4b9b3361

Ответ 1

Попробуйте это... он удостоверится, что строка "телефон" содержит только цифры и будет содержать хотя бы одну цифру

if(phone.match(/^\d+$/)) {
    // your code here
}

Ответ 2

В jQuery есть встроенная функция для проверки этого (isNumeric), поэтому попробуйте следующее:

var phone = $("input#phone").val();
    if (phone !== "" && !$.isNumeric(phone)) {
  //Check if phone is numeric
  $("label#phone_error").show(); //Show error
  $("input#phone").focus(); //Focus on field
  return false;
}

Ответ 3

http://docs.jquery.com/Plugins/Validation/CustomMethods/phoneUS

Проверьте это. Это должно быть именно то, что вы ищете. Плагин подтверждения Google для jQuery.

Если вы хотите сделать это самостоятельно, у вас будет много работы. Проверьте функцию isNaN(). Он говорит вам, что это не число. Вы также захотите освежить ваши регулярные выражения для проверки. Если вы используете RegEx, вы можете обойтись без isNaN(), так как вы все равно будете тестировать.

Ответ 4

Я использовал это:

jQuery.validator.addMethod("phoneUS", function(phone_number, element) {
phone_number = phone_number.replace(/\s+/g, ""); 
return this.optional(element) || phone_number.length > 9 &&
    phone_number.match(/^(1-?)?(\([2-9]\d{2}\)|[2-9]\d{2})-?[2-9]\d{2}-?\d{4}$/);
}, "Please specify a valid phone number");

Ответ 5

Я использовал это, чтобы проверить, были ли все текстовые поля числовыми значениями:

if(!$.isNumeric($('input:text').val())) {
        alert("All the text boxes must have numeric values!");
        return false;
    }

или для одного:

$.isNumeric($("txtBox").val());

Доступно с jQuery 1.7.

Ответ 6

для будущих посетителей, вы можете добавить этот функционал, который позволяет пользователю вводить только числа: вам нужно будет добавить jquery и имя класса для проверки ввода, чтобы в http://jsfiddle.net/celia/dvnL9has/2/

$('.phone_number').keypress(function(event){
var numero= String.fromCharCode(event.keyCode);
 var myArray = ['0','1','2','3','4','5','6','7','8','9',0,1,2,3,4,5,6,7,8,9];
index = myArray.indexOf(numero);// 1
var longeur= $('.phone_number').val().length;
if(window.getSelection){
 text = window.getSelection().toString();
 } if(index>=0&text.length>0){
  }else if(index>=0&longeur<10){
    }else {return false;} });

Ответ 7

 if (!(/^[-+]?\d*\.?\d*$/.test(document.getElementById('txtRemittanceNumber').value))){
            alert('Please enter only numbers into amount textbox.')
            }
            else
            {
            alert('Right Number');
            }

Я надеюсь, что этот код может вам помочь.

в этом коде, если условие вернет true, если есть любое юридическое десятичное число любого числа десятичных знаков. и предупреждение появится с сообщением "Правильный номер", то другим будет показано всплывающее окно с сообщением "Пожалуйста, введите только числа в текстовое поле суммы".

Спасибо...:)

Ответ 8

Я использовал этот вид проверки... проверяет вставленный текст и содержит ли он алфавиты, показывает ошибку для пользователя, а затем освобождает окно после задержки, чтобы пользователь мог проверить текст и внести соответствующие изменения.

$('#txtbox').on('paste', function (e) {
            var $this = $(this);
            setTimeout(function (e) {
                if (($this.val()).match(/[^0-9]/g))
                {
                    $("#errormsg").html("Only Numerical Characters allowed").show().delay(2500).fadeOut("slow");                       
                    setTimeout(function (e) {
                        $this.val(null);
                    },2500);
                }                   
            }, 5);
        });

Ответ 9

Это не точный ответ на вопрос, но еще один вариант проверки телефона - это обеспечение ввода числа в ожидаемом формате.

Вот функция, с которой я работал, когда она установлена ​​в событие onInput, будет разделять любые нечисловые входы и автоматически вставлять тире в "правильном" месте, предполагая, что xxx-xxx-xxxx является желательным выход.

<input oninput="formatPhone()">

function formatPhone(e) {
    var x = e.target.value.replace(/\D/g, '').match(/(\d{0,3})(\d{0,3})(\d{0,4})/);
    e.target.value = !x[2] ? x[1] : x[1] + '-' + x[2] + (x[3] ? '-' + x[3] : '');
}