我如何使用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/