Регулярное выражение, которое допускает числа, пробелы, знак плюс, дефис и скобки

11

Я использую jquery validator, где я добавил метод для проверки строки, которая допускает только числа, пробелы, плюс знак, дефис и скобки. Номер является обязательным в строке, но другой фрахтователь является необязательным.

Мой код для добавления метода в jquery validor:

jQuery.validator.addMethod( "regex", function(value, element, regexp) {
        var re = new RegExp(regexp);
        return this.optional(element) || re.test(value);
    },
    "Please check your input."
);

Следующий код правил:

rules: {
myfield: {
    required: true,
    regex: "[0-9]+" // want to add regular expression but I wrote only for digit which works but do not understand how to reach at my requirements.
 },
}
  • 0
    Используйте программу тестирования регулярных выражений, чтобы помочь вам поиграть и проверить различные входные данные: regexpal.com
  • 0
    Простой поиск «синтаксиса регулярных выражений» должен предоставить вам знания, необходимые для разумного создания и отладки.
Теги:
jquery-plugins

1 ответ

27
Лучший ответ

Вы можете добавить требуемые символы в класс символов как

/^(?=.*[0-9])[- +()0-9]+$/

Демо-версия Regex

Regex Explanation

  • (?=.*[0-9]) позитивный взгляд вперед. Обеспечивает, что по крайней мере одна цифра

  • [- +()0-9]+ соответствует числам, пробелам, знакам, дефисам и скобкам

ИЛИ

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

/^[- +()]*[0-9][- +()0-9]*$/
  • 3
    Без предварительного просмотра: /^[- +()]*[0-9][- +()0-9]*/
  • 0
    @Brainstorm Это хорошая заметка
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню