Если вы хотите использовать jQuery для переноса функциональности шаблона в более старые браузеры, такие как IE8, вы можете сделать что-то вроде:
// Jquery Function to Validate Patterns on Input Objects
(function( $ ){
$.fn.validatePattern = function(search) {
// Get the current element's siblings
var pattern = this.attr('pattern');
var value = this.val();
return !(pattern&&(value.length>0)&&!value.match( new RegExp('^'+pattern+'$') ));
};
})( jQuery );
$(document).ready(function() {
// Bind pattern checking (invalid) to on change
$(':input').change(function() {
if (!$(this).validatePattern()) {
$(this).addClass('invalidPattern');
}
});
// Bind pattern valid to keyUp
$(':input').keyUp(function() {
if ($(this).validatePattern()) {
$(this).removeClass('invalidPattern');
}
});
});
Это добавит класс invalidPattern к входным объектам, которые имеют шаблон и не соответствуют ему. Вы также можете добавить проверки для обязательных и т. Д. И отправить проверки для формы, чтобы предотвратить отправку, если шаблоны не проверяются. То, что я изложил выше, это быстрый, легкий скрипт для проверки только шаблона.
Для более полнофункциональной прокладки посмотрите http://adodson.com/jquery.form.js/
Код проверки шаблона взят из этого проекта.