有人可以帮我使用rails的这个正则表达式密码验证吗?
目前设定为确保:
如何删除单个十进制数字规则?
/^(?=.*\d)(?=.*([a-z]|[A-Z]))([\x20-\x7E]){8,40}$/
答案 0 :(得分:2)
我将建议不要使用单一的正则表达式来测试您的所有密码要求。将它们写成许多小语句似乎要容易得多:
if(password.length >= 8 &&
password.length <= 40 &&
password.contains('\d') &&
password.contains('[a-zA-Z]') &&
password.contains('^[\x20-\x7E]$'))
return true
else
return false
它为未来的维护者提供了更多的自我记录,并且在眼睛上更容易。
答案 1 :(得分:1)
\ d代表所有数字。你想要:
/^(?=.*([a-z]|[A-Z]))([\x20-\x7E]){8,40}$/
答案 2 :(得分:0)
/^(?=.*([a-z]|[A-Z]))([\x20-\x7E]){8,40}$/