0

これの何が問題になっていますか?

if((preg_match('[a-zA-Z]{1,7}+',$_POST['naam'])) and (preg_match('[^\@\#\<\>\&\*\/]+[a-zA-Z0-9]+!',$_POST['password'])))

最初の正規表現は、アルファベット文字のみを含む1〜7の長さの文字列が必要です。

2番目の正規表現には、文字と数字を含む文字列と!最後に。

4

2 に答える 2

7

正規表現の前後に区切り文字がありません:

if((preg_match('/[a-zA-Z]{1,7}+/',$_POST['naam'])) and (preg_match('/[^\@\#\<\>\&\*\/]+[a-zA-Z0-9]+!/',$_POST['password'])))
于 2012-04-23T21:38:12.157 に答える
3

{1,7}- これは 1 ~ 7 を意味します

{1,7}+- これは厄介です。+ は、先行する char が少なくとも 1 回必要であることを示します。通常は次のように使用されます[a-z]+<-- az が必要です

{1,7}+間違っている。

于 2012-04-23T21:40:18.147 に答える