$("#pincode").blur(function() {
var pincode = $("#pincode").val().trim();
var pattern = /^[0-9]{6}$/;
if (pincode != "" && !IsPatternFormate(pincode, pattern)) {
$("#pincode").addClass('invalidValidation');
document.getElementById('pincode')
.setCustomValidity('please enter data in proper formate');
}
});
var IsPatternFormate = function (value, pattern) {
var match = pattern.test($(value));
console.log(match);
}
Я не знаю, почему, матч всегда возвращает мне ложное значение.regex test alwayes возвращает false
Почему вы передаете "значение" в '$()'? Это не имеет никакого смысла; это должно быть просто 'pattern.test (value);' И вам нужно 'return' от функции. – Pointy
Ваша функция ничего не возвращает, а undefined - falsy –
, когда вы вызываете '$ (что-то)' вы получаете объект, похожий на объект jQuery, поэтому, когда вы передаете его объекту функции 'test', которому нужен строковый параметр, действительно передается что-то вроде' '[ объект Object] "' поэтому он всегда возвращает _false_ для вашего шаблона – Grundy