フォームのメールアドレスチェックで動作がおかしいです。
自分では、問題がないと思っているのですが、どこかおかしなところがあればご指摘ただければと思います。
動作確認を簡単にするために作ったソースは
if(!ereg("^[0-9a-zA-Z\_\.\-\@]+$",'k_kkkk@kkkkk-kkkkk.com'))
{
print "NG1\n";
}else
{
print "OK1\n";
}
if(!ereg("^[0-9a-zA-Z\_\.\-\@]+$",'kkkkk@kkkkk-kkkkk.com'))
{
print "NG2\n";
}else
{
print "OK2\n";
}
if(!ereg("^[0-9a-zA-Z\_\.\-\@]+$",'k_kkkk@kkkkkkkkkk.com'))
{
print "NG3\n";
}else
{
print "OK3\n";
}
if(!ereg("^[0-9a-zA-Z\_\.\-\@]+$",'kkkkk@kkkkkkkkkk.com'))
{
print "NG4\n";
}else
{
print "OK4\n";
}
if(!ereg("[0-9a-zA-Z\_\.\-\@]+$",'k_kkkk@kkkkk-kkkkk.com'))
{
print "NG5\n";
}else
{
print "OK5\n";
}
if(!ereg("[0-9a-zA-Z\_\.\-\@]+$",'kkkkk@kkkkk-kkkkk.com'))
{
print "NG6\n";
}else
{
print "OK6\n";
}
if(!ereg("[0-9a-zA-Z\_\.\-\@]+$",'k_kkkk@kkkkkkkkkk.com'))
{
print "NG7\n";
}else
{
print "OK7\n";
}
if(!ereg("[0-9a-zA-Z\_\.\-\@]+$",'kkkkk@kkkkkkkkkk.com'))
{
print "NG8\n";
}else
{
print "OK8\n";
}
です。予想していた結果は、全てOKとなるはずだったのですが、予想に反して
NG1
NG2
OK3
OK4
OK5
OK6
OK7
OK8
となり、マッチングパターン部分が「^[0-9a-zA-Z\_\.\-\@]+$」となっているときだけ、ハイフンが文字列に含まれていると、予想と違っています。
自分的には??なのですが・・・
どこがおかしいのか、ご指摘いただければと思います。
長文ですみません。
No.2ベストアンサー
- 回答日時:
試してみました。
PHP4.3.9と4.3.10では同じ症状ですね。ちなみにpreg_match関数だとちゃんと動きます。アドレスチェックだけでしたらpreg_match関数で動くと思いますし、こちらの方が動作が速いそうです。レスありがとうございます。
preg_matchで行ったところ、問題なく動作しました。
ありがとうございました。
preg_matchだとデリミタも含めて、Perlでの正規表現と同じ書き方ができるので、私好みですね。
これからは、preg_matchを使うことにします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PostgreSQLからCSV形式でエクスポートする際にカラム内の改行をとる方法 1 2023/02/22 10:05
- Ruby パイソンプログラミング 2 2022/12/03 18:44
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- Visual Basic(VBA) 順列をランダムに発生するプログラム 1 2022/11/16 12:16
- その他(プログラミング・Web制作) 【Python初学者】以下コードについて教えていただきたいです 4 2023/04/19 13:01
- PHP if(preg_match("/[^0-9]/",$gu_d)){意味を教えてください。 1 2022/05/06 05:37
- Visual Basic(VBA) 任意の置換を互換の積で表すプログラム 4 2022/11/13 19:10
- その他(プログラミング・Web制作) パイソンのプログラムで continue と passの違い 3 2022/03/25 07:38
- PHP PHP MySql 画像を取得 1 2022/06/04 14:05
- その他(プログラミング・Web制作) pythonのmap、結果の利用は1度だけ? 5 2022/06/11 12:33
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
vbYesNoの使い方
-
$str='AbcAdefgA';の中のAの出...
-
PHPのif文「POSTしていな...
-
PHPを勉強中なのですが一点わか...
-
日付を基にした乱数生成
-
split関数とexplode関数の違い...
-
if (isset($_a)&&$_a)この意味は
-
変数 $x=1と$y=1 参考書は間違...
-
PHPの<textarea>表示について。
-
変数に禁止された文字が含まれ...
-
switch文で2つ以上の変数の値...
-
このプログラムを説明すにあたり!
-
ブラウザ上でリストの出し入れ
-
アクセスキーについて
-
検索プログラムの10件表示について
-
Dosブロンプトでtabを出力したい
-
バッチファイルでpingの結果を...
-
wordの差し込み印刷で文字...
-
「取得先」という表現について
-
開始と終了を指定して、その間...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
<A href ~で複数の値を渡したい
-
日付を基にした乱数生成
-
テーブルに送信ボタンをつける
-
「次の10件を表示する」のよ...
-
PHPでwait処理ってできます?
-
なぜエラーが出るのか分からな...
-
null代入とunset()の違いについて
-
PHPのif文「POSTしていな...
-
if (isset($_a)&&$_a)この意味は
-
microtime関数は、結構イイカゲ...
-
アクセスキーについて
-
POSTされたかどうか確かめる方...
-
複合演算子につきまして!
-
Luaにて、and or の組み合わせ...
-
$_SERVER["QUERY_STRING"]の仕...
-
PHPでのNULLの正規表現
-
PHPのGETパラメーターの検索値...
-
データ)表示件数について
-
SQLにあるデータをWEB画面に出...
-
vbYesNoの使い方
おすすめ情報