我按照教程http://dialect.ca/code/ci-simple-login-secure/进行了操作 但是我遇到了密码错误 当我输入密码
M@ndiri%%321 and M@ndiri%%654
无论如何都改变了我的密码错误.. 如果正则表达式有问题?
如何修复??谢谢
答案 0 :(得分:1)
根据上面显示的正则表达式,除了字母数字字符外,你不应该有任何东西,但正如你所看到的,你的密码字符串中有一些特殊字符:)
上面的表达式也可以写成/([a-zA-Z0-9]+)/g
。或者像这样/([[:alnum:]+])/g
如果您想添加特殊字符,请使用此/([ -~]+)/g
。这将允许您使用(英语)字母数字和特殊字符。
如果您想在评论中仅允许使用字母数字和下面提到的特殊字符,请使用此/([a-zA-Z0-9%@#$]+)/g
。
如何使用PHP上面的模式
$password = "aH8J9%3$%";
if(!preg_match("/^([a-zA-Z0-9%@#$]+)$/", $password)){
echo "Invalid password!";
}
如何使用JavaScript
var pattern = /^([a-zA-Z0-9%@#$]+)$/g;
var password = document.getElementById("password").value; // aH8J9%3$%
if(!pattern.test(password)){
alert("Invalid password!");
}