12

私はしばらくこの仕事をしようとしていますが、無駄です。文字列に少なくとも 1 つの数字と少なくとも 1 つの記号 ( _-+=*& ) があるかどうかを確認する php 正規表現を作成したい

これは私の正規表現です

 $result = preg_match('/^(?=.*\d)(?=.*[_-+=*&]).{3,}$/',$pass);

次のエラーが表示されます Warning: preg_match() [function.preg-match]: Compilation failed: range out of order in character class at offset 17 in myfile.php on line 8

何か助けはありますか?

4

2 に答える 2

25

をエスケープするか、リストの-最初/最後に配置する必要があります。[...]

$result = preg_match('/^(?=.*\d)(?=.*[-_+=*&]).{3,}$/',$pass);

そうしないと-、範囲演算子として解釈され、そのエラーが発生する場合がありますx > y[x-y]

于 2012-04-17T02:46:01.270 に答える