Php 我想让我的密码包含小写、大写、8个字符和一个字符

Php 我想让我的密码包含小写、大写、8个字符和一个字符,php,login,passwords,character,Php,Login,Passwords,Character,我想让我的密码包含小写、大写、8个字符和一个字符。 这是我的密码: <?php define('DB_NAME', 'baza'); define('DB_USER', 'root'); define('DB_PASSWORD', ''); define('DB_HOST', 'localhost'); $link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD); if (!$link) { die('Could not connect

我想让我的密码包含小写、大写、8个字符和一个字符。 这是我的密码:

<?php
define('DB_NAME', 'baza');
define('DB_USER', 'root');
define('DB_PASSWORD', '');
define('DB_HOST', 'localhost');
$link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
if (!$link) {
    die('Could not connect: ' . mysql_error());
}
$db_selected = mysql_select_db(DB_NAME, $link);
if (!$db_selected) {
    die('Can\'t use ' . DB_NAME . ': ' . mysql_error());
}
echo 'Your account has been created succesfully! <a href="login.html"> Click here </a> to login.';
$value  = $_POST['name'];
$value2 = $_POST['surename'];
$value3 = $_POST['genre'];
$value4 = $_POST['numrikarteles'];
$value5 = $_POST['email'];
$value6 = $_POST['username'];
$value7 = $_POST['password'];
if (!preg_match('/[^A-Za-z0-9]+/', $value7) || strlen($value7) < 8) {
    echo "Invalid password!";
} //- kushti per ta kontrollu passwordin 
$sql = "INSERT INTO user (name, surename, genre, numrikarteles, email, username,password) VALUES ('$value', '$value2', '$value3', '$value4', '$value5', '$value6', '$value7')";
if (!mysql_query($sql)) {
    die('Error: ' . mysql_error());
}
mysql_close();
?>

如果您想限制用户输入至少8个字符的密码,其中包含大小写字母和一个特殊字符,您可以使用正则表达式,如

^((?=(?:.*[a-zA-Z]){7})(?=(?:.*[@#$%^?])).{8})$

可能重复欢迎使用堆栈溢出!请查看并格式化您的问题,这是不可读的。我试图通过格式化代码来帮助您,但这是不可能的,因为其中包含随机单词。请花点时间了解如何发布问题,因为这里的人确实希望提供帮助。好的,在我的代码中到底在哪里编写此代码?您可以在if条件下使用此表达式检查字符串格式