1

英数字のみの場合、次のようなものを使用します。

<input type="text" pattern="[a-zA-Z0-9]+" />

データがサーバーに到達したら、再度検証する必要があります。だから私はしました

preg_match("[a-zA-Z0-9]+", $value);

しかし、PHPは警告を言います:preg_match()[function.preg-match]:不明な修飾子'+'

html5とPHPで同じ式を使用することはできませんか?

編集:以下の提案が機能しないことを示すJSfiddleがあります:http: //jsfiddle.net/EY3hc/

私が達成したいのは、htmlおよびpreg_matchでパターンとして使用できる1つの正規表現です。htmlはPHPによって生成されるので、検証用のコードを1か所で管理したいと思います。

4

4 に答える 4

8

式に区切り文字を追加する必要があります。また、行の最初と最後を一致させる必要があります。

preg_match("/^[a-zA-Z0-9]+$/", $value);

^およびがない$場合、のような入力somewords!@#は検証されます。

于 2013-01-18T19:00:50.473 に答える
2

区切り文字を指定する必要があります!試す

preg_match("/[a-zA-Z0-9]+/", $value);
于 2013-01-18T19:00:48.933 に答える
0

PHPでは、その式に区切り文字を付ける必要があります。

preg_match("/[a-zA-Z0-9]+/", $value);
于 2013-01-18T19:00:52.290 に答える
0

phpでは区切り文字を使用する必要があります。

preg_match("/[a-zA-Z0-9]+/", $value);
于 2013-01-18T19:01:06.150 に答える