こんにちは、スペシャルを含むほぼすべての文字を受け入れる正規表現があります。最小8文字と最大30文字を受け入れるように設定しました。最小ではすべてが正しいですが、最大では機能しません。
文字列が 30 または任意の長さを超える場合。結果は真です。
パターンは次のとおりです。
$pattern = '/[A-Za-z0-9' . preg_quote( '.%^&()$#@!/-+/', '/') . ']{8,30}/';
テストコード全体は次のとおりです。
$pattern = '/^[A-Za-z0-9' . preg_quote( '.%^&()$#@!/-+/', '/') . ']{8,30}$/';
if(preg_match($pattern, $pass))
{
echo '<br>true';
}
else
{
echo '<br>false';
}
?>