#jquery #validation
#jquery #проверка
Вопрос:
$.validator.addMethod(
"ninumber",
function(value, element) {
return this.optional(element)
|| /^[A-CEGHJ-PR-TW-Z]{1}[A-CEGHJ-NPR-TW-Z]{1}[0-9]{6}[A-DFM]{0,1}$/.test(value);
},
"Please enter a valid NI Number."
);
Может ли кто-нибудь заметить какие-либо проблемы с примером кода? Мне кажется, все в порядке, но правильные значения по-прежнему отображаются как имеющие ошибку. Я использую плагин проверки jQuery, чтобы добавить метод для номера NI.
Ответ №1:
Он не допускает пробелов, поэтому вам нужно сначала удалить их. Я только что проверил, и он проверяет мой номер NI, но только без пробелов.
Итак, вы хотели бы что-то вроде:
/^[A-CEGHJ-PR-TW-Z]{1}[A-CEGHJ-NPR-TW-Z]{1}[0-9]{6}[A-DFM]{0,1}$/.test(value.replace(/s/g, ''));
если вы действительно хотели сохранить его для проверки в одну строку. Лично я бы переформатировал / реорганизовал:
$.validator.addMethod("ninumber", function(value, element) {
var regexp = /^[A-CEGHJ-PR-TW-Z]{1}[A-CEGHJ-NPR-TW-Z]{1}[0-9]{6}[A-DFM]{0,1}$/;
var strippedValue = value.replace(/s/g, '');
return this.optional(element) || regexp.test(strippedValue);
}, "Please enter a valid NI Number.");
Комментарии:
1. Спасибо за быстрый ответ! Высоко ценится
2. @Rachel Проблем нет, рад помочь 🙂