谁能帮我用一个正则表达式来允许至少一个特殊字符,一个大写字母,一个小写字母。
这是我到目前为止所拥有的:
^.*(?=.{8,})(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%^&+=]).*$
但它似乎只按“特殊字符”、“大写”、“小写”的顺序匹配字符。
非常感谢您的帮助
它可以通过3个正则表达式快速完成。
function check($string){
return preg_match("/[`!%$&^*()]+/", $string)
&& preg_match("/[a-z]+/", $string)
&& preg_match("/[A-Z]+/", $string) ;
}
别忘了调整特殊字符列表。因为我不知道你认为哪些角色很特别。
我相信当你不是专家时,在单行正则表达式上浪费大量时间不会提高你的生产力。这个3正则表达式解决方案会很好。它节省了时间。
这是一个可以使用的函数。
function checkRegex(string) {
var checkSpecial = /[*@!#%&()^~{}]+/.test(string),
checkUpper = /[A-Z]+/.test(string),
checkLower = /[a-z]+/.test(string),
r = false;
if (checkUpper && checkLower && checkSpecial) {
r = true;
}
return r;
}
然后检查它是真是假。
var thisVal = document.getElementById('password').value;
var regex = checkRegex(thisVal);
如果var正则表达式为true,则满足条件。
你的正则表达式
^.*(?=.{8,})(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%^&+=]).*$
实际上应该可以正常工作,但是您可以通过删除第一个来使其变得更好。*
:
^(?=.{8,})(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%^&+=]).*$
将匹配至少8个字符的任何字符串,该字符串至少包含一个小写和一个大写ASCII字符以及集合@#$%^中的至少一个字符
我的输入字段的密码验证要求如下:“密码应至少包含一个大写字母、一个小写字母、一个数字或特殊字符”。 这是1个大写、1个小写、1个数字和一个特殊字符的正则表达式
我正在尝试制作一个正则表达式来检查密码字段,我想至少需要一个大写字母,一个小写字母和一个数字。 我还想允许用户使用特殊字符,但我不希望特殊字符成为要求。 这可能吗?如果可能,我应该使用什么正则表达式?
我想要一个正则表达式来检查以下内容: 至少包含10个字符 至少有一个大写字母 至少有一个小写字母 允许空格 null 我需要以下内容有效: JohnDoe1234567891011(仅数字) Johndoe!!!!!!!!!!!!!!!(仅限特殊字符)
我需要一个正则表达式来检查: 密码至少包含八个字符,其中至少包含一个数字,并且包含大小写字母和特殊字符,例如、、。 它不能是您的旧密码,也不能包含您的用户名、或 这里是我的验证表达式,它针对八个字符,包括一个大写字母,一个小写字母,和一个数字或特殊字符。 密码必须是八个字符,包括一个大写字母,一个特殊字符和字母数字字符,我怎么写呢?
null null 我想在ng-pattern中使用这个regex来检查来自用户的文本输入。
null 我对解析和的最佳猜测如下。此regex似乎将所有输入计算为: