- ベストアンサー
7桁の半角数字かどうかのチェック
初歩的な質問で失礼ですが if (ereg("([0-9]{7})",$str)) { $strが7桁の数字であるときの処理 } else { $strが7桁の数字でないときの処理 } でうまく動作しません。 何が悪いんでしょうか。eregですか?{7}ですか?それとも俺の頭ですか?
- PHP
- 回答数3
- ありがとう数4
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
> 何が悪いんでしょうか。eregですか?{7}ですか?それとも俺の頭ですか? eregと、貴方の頭かな(笑) 冗談なので無視してください :) $str1 = '123456'; $str2 = '1234567'; $str3 = '12345678'; $str4 = '1234567abc'; $str5 = 'ABC1234567abc'; $str2から$str5は全てeregにマッチします。 ちゃんと判定するには、 if (strlen($str) == 7 && ctype_digit($str) { //真の時の処理 } else { //偽の時の処理 } かな。
その他の回答 (2)
括弧が閉じてなかったので訂正します 誤 if (strlen($str) == 7 && ctype_digit($str) { 正 if (strlen($str) == 7 && ctype_digit($str)) { どうしてもeregを使いたければ >if (ereg("^([0-9]{7})$",$str)) { とすればよろしいかと思います。
- selenity
- ベストアンサー率41% (324/772)
別に if (ereg("^[0-9]{7}$",$str)) { でよいのでは?
お礼
正規表現勉強しなきゃ駄目ですね。 ありがとうございました。
関連するQ&A
- 電話番号の入力チェック
ハイフン付きの電話番号のチェックをしようとしています。いろいろ調べていますがうまくいきません。5桁までの半角数字-5桁までの半角数字-5桁までの半角数字という書式のチェックを考えています。 if (ereg("^[0-9]{1,5}-?[0-9]{1,5}-?[0-9]{1,5}$", $str )) { return true; } else { return false; } で中途半端になってチェックされます。 間違っているのか?他に書き方があるのか?教えてください。 宜しくお願いいたします。
- ベストアンサー
- PHP
- 半角カタカナの入力チェックを作りたいです
入力フォームで入力された文字に対して半角カタカナかチェックをしたいです。 function CheckHalfSizeKatakana($str) { if (mb_ereg("^[ア-ン゛゜]+$",$str)) { return true; } else { return false; } } としたのですがうまくいきません。 PHP4です。
- ベストアンサー
- PHP
- 5桁の数字…
初めての質問でここでいいのかわかりませんが、教えてください。 5桁の数字が2つあり、それぞれa[1]…a[5]、b[1]…b[5]に格納する。 対応する桁どうし(a[1]とb[1])を比較して一致する桁の個数を求めるプログラムを擬似コードで表したいのです。 { 2つの桁の数を配列a,bに読み込む; count=0; i=i+1; while(i<=5) { if(a[i]==b[i])(??); else 誤ったデータの処理; } countの値を出力する; } ??の部分には何をいれればよいでしょう? また他のところでも間違いがあればご指摘お願いいたします。
- ベストアンサー
- その他(プログラミング・開発)
- 数字を1桁なら半角、2桁以上は全角にしたい
表示したい数字が1桁もしくは2桁でHTML表示を等幅指定で合わせたいので 数字を1桁なら半角、2桁以上は全角にしたいと思っています。 下のように記述して、思い通りの動きはしているのですが もう少しスマートに記述できればと思い質問させていただきます。 みなさんなら、どう記述するか、ご教示ください。 $no = 1; # 1桁の場合、半角から全角にする if ($no == 0) { $no2 = "0"; } if ($no == 1) { $no2 = "1"; } if ($no == 2) { $no2 = "2"; } if ($no == 3) { $no2 = "3"; } if ($no == 4) { $no2 = "4"; } if ($no == 5) { $no2 = "5"; } if ($no == 6) { $no2 = "6"; } if ($no == 7) { $no2 = "7"; } if ($no == 8) { $no2 = "8"; } if ($no == 9) { $no2 = "9"; } if ($no >= 10) { $no2 = "$no"; } print "$no2";
- ベストアンサー
- Perl
- 有効数字二桁
初歩の初歩の質問です。 「有効数字二桁」って、具体的にどうすればいいんでしょうか? 学校の授業でもちゃんと説明された覚えがなく、今まで何となく答えてきたのですが、これは一度ちゃんとした方がいいと思い質問させて頂きます。 0.60 6.0 60 6.0×10の二乗 0.12 1.2 12 1.2×10の二乗 これらは全部有効数字二桁の表し方として正しいですか? また、私なりには「0以外の数字が出てきたところから2桁」という風に考えていたのですが、問題を解いていると0.03が「3.0×10のマイナス二乗」と表されていました。0.030とすると間違いなのでしょうか? また、約分の仕方についてですが 有効数字二桁の次の桁を四捨五入する (例:3.45→3.5 11.2→11 0.3817→0.38) という考え方で正しいんでしょうか。 ネットで調べてみましたが、説明が小難しくてよくわかりませんでした。どなたか易しく簡潔に教えていただけないでしょうか。
- ベストアンサー
- 化学
- 様々な桁の数字を、一様の桁になおす関数
エクセル2010を使用しているものです。 現在各セルに様々な桁の数字が入力されています。 例 2012 354861 811021354 80011687 5447845 741741 これらの数字を、頭に0をつけて全て12桁に直したいです。 例だと、2012 →000000002012 354864 →000000354864 811021354 →000811021354 どのような関数を作ればこのような処理が一括でできるでしょうか?教えてください。よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- PHP 正規表現 数字又は数字以外を判別
下記コードですが、 「数字以外が含まれています。」と表示されるはずなのに「数字です。」と表示されてしまいます。どこがおかしいかお分かりの方おられますか? $num1 ="123"; $num2 ="a"; $num3 ="123"; if($num1 != "" or $num2 != "" or $num3 != "") { if($num1 == "" or $num2 == "" or $num3 == "") { if(!ereg("^[0-9]+$", $num1) or !ereg("^[0-9]+$", $num2) or !ereg("^[0-9]+$", $num3)) { print "数字以外が含まれています。\n"; } } } else { print "数字です。\n"; }
- 締切済み
- PHP
- ACCESS のVBAですが、頭がアルファで後の3桁が数字のチェックをしたい
頭がアルファで後の3桁が数字、つまり a234 x999 z001 こうしたコードが入ってきます これをチェックしたいのですが If myField Like "*A999*" Then のようなコーディングをしたいのですが "*A999*" の部分の書き方の質問です よろしくお願いします
- ベストアンサー
- オフィス系ソフト
お礼
ereg使わなくても出来ることに気が付かなかったです… やっぱり悪いのは俺のあた(略 ありがとうございました。