我对角质js很陌生。我创建了一个登录屏幕。我需要验证我的密码。它应该包含来自-'$@£!%*#?&'的一个特殊字符和至少一个字母和数字。到目前为止,它不受任何限制地接受所有特殊字符。我有以下代码
if (vm.newpassword_details.password.search("^(?=.*?[A-Za-z])(?=.*?[0-9])(?=.*?[$@£!%*#?&]).{8,}$")) {
var msg = "Password should contain one special character from -'$@£!%*#?&' and at least one letter and number";
alert(msg);
}发布于 2017-04-12 11:32:17
请注意,当前正则表达式施加了4种类型的限制:
(?=.*?[A-Za-z]))(?=.*?[0-9])),(?=.*?[$@£!%*#?&])).{8,}). in .{8,}可以匹配除换行字符以外的任何字符。
如果计划限制.,并且只允许用户从集合中键入字符,则从它们创建一个超集并将其与RegExp#test一起使用。
if (!/^(?=.*?[A-Za-z])(?=.*?[0-9])(?=.*?[$@£!%*#?&])[A-Za-z0-9$@£!%*#?&]{8,}$/.test(vm.newpassword_details.password)) { /* Error ! */ }https://stackoverflow.com/questions/43367233
复制相似问题