Я использую 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-9])[- +()0-9]+$/
Regex Explanation
(?=.*[0-9])
позитивный взгляд вперед. Обеспечивает, что по крайней мере одна цифра
[- +()0-9]+
соответствует числам, пробелам, знакам, дефисам и скобкам
ИЛИ
Если вы неохотно используете внешний вид. Вы можете писать без них более длинное регулярное выражение, как
/^[- +()]*[0-9][- +()0-9]*$/
/^[- +()]*[0-9][- +()0-9]*/