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

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

Я использую 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.
 },
}
4b9b3361

Ответ 1

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

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

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

Regex Explanation

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

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

ИЛИ

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

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