我如何使用h5validate库要求pass字段的值等于pass2?我找到了这个https://github.com/dilvie/h5Validate/issues/17,但我仍然不明白,并且没有可用的示例代码。

这个:

$(document).ready(function () {
  $.h5Validate.addPatterns({
  pass2: $('#pass').val()
});

$('form').h5Validate({
  errorClass:'invalid'
});

});


不起作用(我同时将name和id属性设置为pass和pass2作为输入)。

编辑:我尝试过:

$('#pass').change(function(){
  $('#pass2').attr('pattern', $('#pass').val());
});


在调用h5validate之前,它确实可以工作,但是当我将单点放置时,显然可以将其解释为正则表达式,因此可以将任何char放在pass2字段中。

我刚刚发现了这个https://stackoverflow.com/a/2593661/627334

但是还是

$('#pass2').attr('pattern', $('#pass').val().replace(/([.?*+^$[\]\\(){}|-])/g, "\\$1"))


看起来像杀伤力大

最佳答案

如果将正则表达式引用提取到函数中,则它看起来更具可读性:

RegExp.quote = function(str) {
    return (str+'').replace(/([.?*+^$[\]\\(){}|-])/g, "\\$1");
};

...

$('#pass2').attr('pattern', RegExp.quote($('#pass').val()));

关于javascript - h5validate如何要求重复的密码,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20587913/

10-11 06:12