我是PHP的新手。我需要帮助编写一个验证密码的正则表达式。密码长度必须至少为8个字符,以字母开头,以数字结尾,并且不区分大小写。第一个和最后一个之间的字符可以是数字,下划线或符号。
非常感谢任何帮助。
答案 0 :(得分:2)
/^[A-Za-z][0-9[:punct:]]{6,}[0-9]$/
应该有效
这说:
答案 1 :(得分:0)
查看manual中的preg_match()
PHP函数。
快速示例:
<?php
// Check if the string is at least 8 chars long
if (strlen($password) < 8)
{
// Password is too short
}
// Make the password "case insensitive"
$password = strtolower($password);
// Create the validation regex
$regex = '/^[a-z][\w!@#$%]+\d$/i';
// Validate the password
if (preg_match($regex, $password))
{
// Password is valid
}
else
{
// ... not valid
}
Regex Explanation:
^ => begin of string
[a-z] => first character must be a letter
[\w!@#$%]+ => chars in between can be digit, underscore, or symbol
\d => must end with a digit
$ => end of string
/i => case insesitive