これの何が問題になっていますか?
if((preg_match('[a-zA-Z]{1,7}+',$_POST['naam'])) and (preg_match('[^\@\#\<\>\&\*\/]+[a-zA-Z0-9]+!',$_POST['password'])))
最初の正規表現は、アルファベット文字のみを含む1〜7の長さの文字列が必要です。
2番目の正規表現には、文字と数字を含む文字列と!最後に。
正規表現の前後に区切り文字がありません:
if((preg_match('/[a-zA-Z]{1,7}+/',$_POST['naam'])) and (preg_match('/[^\@\#\<\>\&\*\/]+[a-zA-Z0-9]+!/',$_POST['password'])))
{1,7}
- これは 1 ~ 7 を意味します
{1,7}+
- これは厄介です。+ は、先行する char が少なくとも 1 回必要であることを示します。通常は次のように使用されます[a-z]+
<-- az が必要です
{1,7}+
間違っている。