我正在尝试创建一个正则表达式,以确保用户输入 8 个字符,包括一个大写字母和一个数字。
HTML
<input type="password">
到目前为止我有这个
JS
var validator = '^(?=.*[A-Z])(?=.*[0-9]).{8,}$'
我想做的是:
$('input').on('blur', function() {
if ($(this).val().match(validator)) {
alert('Correct!')
}
});
但由于某种原因,它不会通过。有什么想法吗?
最佳答案
您拥有的是一个字符串。您需要声明一个正则表达式文字:
var validator = /^(?=.*?[A-Z])(?=.*?[0-9]).{8,}$/;
性能更好的正则表达式将是:
var validator = /^(?=[^A-Z]*[A-Z])(?=\D*\d).{8,}$/;
关于javascript - RegExp 文字未被识别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28997213/