if条件中的正则表达式,用于密码检查。条件是:
所有这些代码都应该在shell脚本中。
请帮助我。代码始终打印错误。
password="Testing@1234Test"
correct_password="^(?=.*[A-Z])(?=.*[0-9])(?=.*[a-z])(?=.*[^A-Za-z0-9]).{14,}$"
if [[ $password =~ $correct_password ]]; then echo "correct" ; exit
else echo "wrong"
fi
答案 0 :(得分:1)
尝试一下:
[[ ${#a} -ge 14 && "$a" == *[A-Z]* && "$a" == *[a-z]* && "$a" == *[0-9]* && "$a" == *[@#$*%^\!]* ]]
您需要根据需要在最后一个条件中添加特殊字符,并注意某些特殊字符需要转义。