这里的格式以8个以上的密码,其中需要英文字母大小写与数字,如果这三个缺少一个则会显示格式错误。另外补充在preg_match('/(?=.[a-z])(?=.[A-Z])(?=.*[0-9])[a-zA-Z0-9]{8}/', $password),如果加上句首句尾的话会限制为8个密码,如果8个以上或以下会出现格式错误。(欢迎补充)
(?=.*[a-z]):包含小写英文字母(a-z)(?=.*[A-Z]):包含大写英文字母(A-Z)(?=.*[0-9]):包含小写英文字母(0-9)[a-zA-Z0-9]:大小写与数字各一个{8,}符合前项格式的文字8个以上.*:任意文字重複0次以上
input.php<form action="output.php" method="get"><p>(需为8个字以上,并包含小写字母、大写字母、数字至少各1)</p><input type="password" name="password"><input type="submit" value="检查"></form>
output.php<?php$password = $_GET['password'];if(preg_match('/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])[a-zA-Z0-9]{8}/', $password)){ echo '密码『',$password,'』正确。';} else{ echo '密码『',$password,'』不正确。';}?>