Проверить поле, содержащее по крайней мере одну или более цифр и включающее символы

#javascript #jquery #regex #validation

#javascript #jquery #регулярное выражение #проверка

Вопрос:

Я создаю контактную форму, которая будет отправлена с помощью jQuery, и я застрял на одной простой проверке.

Мне нужно проверить поле, в котором должно быть не менее x целых чисел.

Как я могу это сделать?

p.s: пожалуйста, не предлагайте плагин проверки.

Спасибо,

редактировать: это то, что я пробовал, но, я думаю, это неправильно.

 var numbercheck = /^(wd{7,14})?$/;
  

это jsdiffle:

http://jsfiddle.net/4WqY9/

Комментарии:

1. При нажатии кнопки отправки я бы проверил, что значение в поле имеет по крайней мере x целых чисел.

2. @Lazarus — Ну, это то, на чем именно я застрял. Я не знаю, как «проверить, что значение в поле имеет по крайней мере x целых чисел».

3. Поскольку вы застряли, что вы пробовали (опубликуйте свой код) и почему вы не хотите рассматривать плагин проверки?

4. (регулярное выражение уже было одним из тегов :))

5. Не могли бы вы, пожалуйста, добавить пример ввода, чтобы я мог лучше понять, что вы хотите проверить?

Ответ №1:

Используйте regex диапазон чисел, который вы можете себе позволить в своем поле

Нравится d{5,10} // Here 5 -10 is the range of numbers

 function testContact(contact){
 contact = contact.replace(/[a-z]*/g,"");
 return (contact == contact.match(/d{5,10}/))?true:false;
}
  

Комментарии:

1. Не забудьте привязать регулярное выражение с помощью ^ и $

2. И это будет проверять только одно целое число с 5-10 цифрами, а не x целых чисел.

3. что-то вроде этого? номер переменной = /^(wd{5,10})?$/; // Но есть проблема, будет ли оно также иметь значение true, если есть также нецелые числа?

4. @Arda — проверить функцию в обновлении.. почему вы включаете w ??

5. Пожалуйста, проверьте мой jsfiddle по вопросу

Ответ №2:

Для сопоставления нескольких целых чисел с использованием регулярного выражения вам понадобится что-то вроде:

 ^((d*)s*)*$
  

Ответ №3:

Я бы написал небольшую функцию, которая выполнит эту работу. Обратите внимание, что эта функция вернет false, если у вас есть какие-либо элементы, отличные от int, в inputText :-

 function HasRequiredIntegers(inputText, requiredIntegers) {
    var elems = inputText.split(/s /);
    var intCount = 0;
    var nonIntCount = 0;

    for (i = 0; i < elems.length; i  ) {
        if (((parseFloat(elems[i]) == parseInt(elems[i])) amp;amp; !isNaN(elems[i]))) {
            intCount  ;
        }
        else {
            nonIntCount  ;
        }
    }

    return (intCount >= requiredIntegers amp;amp; nonIntCount == 0);
}
  

Комментарии:

1. Я сделал, сэр. В вашем примере вы передаете пустую строку и требуете, чтобы в ней было 5 целых чисел. В этих обстоятельствах false является правильным результатом.

Ответ №4:

Попробуйте это

 function hasUpTo5(strin){
        if( string.replace(/[^0-9]/g, '').length <= 5){
            return true
        }else{
            return false;
        }
    }

    alert( hasUpTo5("fhsfbgurb3utn55nun44") );