小编ngm*_*gmh的帖子

正则表达式使用JavaScript而不是PHP

我的网站有一个注册页面.

当用户填写表单时,他们可以通过JavaScript Regex进行实时验证,该工作正常.这通过以下方式完成:

var password = document.getElementsByName("password")[0].value;
var pattern = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)([a-zA-Z0-9!\"\#$%&\'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~]{6,})$/;
if(pattern.test(password)){
    document.getElementById("check_password").innerHTML = "Password is valid.";
} else {
    document.getElementById("check_password").innerHTML = "Password is invalid. It should have at least 6 characters, and 1 lowercase letter, uppercase letter, and number.";
}
Run Code Online (Sandbox Code Playgroud)

当用户通过以下方式提交表单时,将使用PHP Regex:

if(!preg_match("/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)([a-zA-Z0-9!\"\#$%&\'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~]{6,})$/", $_POST["password"])){
        $error = "Password is invalid. It should have at least 6 characters, and 1 lowercase letter, uppercase letter, and number.";
}
Run Code Online (Sandbox Code Playgroud)

但是,即使JavaScript没有,PHP仍然会抛出错误.两个正则表达式都是相同的,并已在PHP设置和JavaScript设置中进行了测试.然而它适用于JavaScript而不是PHP!

为什么它在PHP中不起作用,我该如何解决这个问题呢?

javascript php regex

0
推荐指数
1
解决办法
81
查看次数

标签 统计

javascript ×1

php ×1

regex ×1