• ベストアンサー

数字以外の文字があるかチェックする

テキストボックスに入力された文字に数字以外の文字が含まれている時に処理を行いたいのですが、 どうすればいいのでしょうか? 例: $nameの中に 123→○ abc→× 12a→× あ→× こんな感じです。よろしくお願いします。

  • Perl
  • 回答数2
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
  • kochory
  • ベストアンサー率45% (167/370)
回答No.1

if($name=~/[^0-9]/){ # 数字以外の入力を処理 }else{ # 数字の入力を処理 } でいいかと。

is_may
質問者

お礼

早速の回答ありがとうございます。 思うように処理できました。助かりました

その他の回答 (1)

  • SHOO-3
  • ベストアンサー率56% (28/50)
回答No.2

if($name !~ tr/0-9//c){ # 数字以外の入力を処理 }else{ # 数字の入力を処理 } のほうが高速。意味は、「もし数字以外のものが含まれなければ」 以下のサイトが参考になります。 http://www.rfs.jp/sb/perl/02/09.html

is_may
質問者

お礼

締め切るの忘れてました^^; でも結果的によかったのかも。。 ほかにもいろいろな正規表現(?)の仕方が書かれていました。 ありがとうございましたm(_ _)m

関連するQ&A

  • 数字とプラス以外の入力をチェックしたい

    テキストボックスに、数字かプラス記号(+)以外のものがあるか チェックしたいと思っています。 ○ 1+1 × 1+1=2 Keypresで弾くことも考えましたが、ペーストへの対応が難しいので、 テキストボックスのValidatedで、入力文字に数字かプラス記号以外の 文字が入っていたら、そこでメッセージを出して警告するような作りに したいのですが、数字だけしかダメ!というのは比較的簡単そうでしたが、 それにプラスを加えて判定する方法がわかりません。 ご教授いただけないでしょうか。

  • テキストボックスで3文字ごとに「@」を表示させるには?

    VisualBasicで作成したテキストボックスに文字が入力される時に、3文字入力される度に、「@」を表示させる方法を教えてください。 例)ABC@DEF@123@ のような感じです。

  • チェックボックス以外の文字を抽出

    入力用フォームAに複数のチェックボックスとひとつのテキストボックスを配置し、 チェックの入っている項目とテキストボックスに入力した文字を 表示用フォームBの「フィールド1」にまとめて表示させています。 以下のようなイメージです。 <入力用フォームA> ■A □B ■C 【あいうえお】 <表示用フォームB> フィールド1【A C あいうえお】 表示用フォームBのフィールド1から、 テキストボックスで入力させた文字だけ(”あいうえお”) 抽出するにはどうしたらいいでしょうか? 入力用フォームAのチェックボックスとテキストボックスを それぞれ別のフィールドにして、 表示用フォームBで&でつなげて表示させるような構造だったら簡単なのでしょうが チェックボックスもテキストボックスも ひとつのフィールドにまとめてしまっているので どうしたらいいか分かりません。 ご教授よろしくお願いいたします!

  • 特定の数字でなければエラーを出したい

    こんにちは。 Visual Studio 2005を用いてVisual C++を使ったフォームアプリケーションを作成しています。 3つのテキストボックスA、B、Cとボタンがあります。 テキストボックスに数字(半角)を入力させてボタンを押させるのですが、ボタンを押した時に、 Aは0,1,2 Bは0,1,2,3 Cは0,1,2,3,4 のどれかを入力している時のみOKにして、それ以外の文字や数字を入力していた場合はエラーメッセージを出すようにしたいのです。 できるだけ簡単なコードで記述したいのですが、良い方法があればどうぞよろしくお願いします。

  • Access VBAで、数字だけをチェックする方法。

    Access VBAで、数字だけをチェックする方法。 お世話になっております。 Access2002 VBAで、テキストボックスに入力された内容が、 数字(整数のみ)だけかをチェックしたいのです。 しかし、IsNumeric使用すると、 例> IsNumeric("1000,")=True IsNumeric("1000.")=True IsNumeric("1000+")=True となってしまいますし、 Valを使用すると、0(ゼロ)のチェックが出来ません。 ちょっと思いつかないので、 If txt_Word.Value <> Trim(Str(Val(txt_Word.Value)))) Then 'エラー処理 End If とか、 ループで回し、1文字ずつIsNumericするか・・・とか、馬鹿なことを思ってしまっています。 ちなみに、当テキストボックスは、パターンによって文字も許容したりするので、 書式設定で数字のみ入力は出来ません。 何か、本当に数字のみかをチェックするよい方法はありますか? よろしくお願いいたします。

  • 文字と数字の判定

    テキストボックスに入力された事柄が文字なのか数字なのか判定する関数ってないでしょうか? 無い場合どのようなロジックを組めばいいのでしょうか?

    • ベストアンサー
    • Perl
  • 縦書きの中に横文字(数字)を入れるために。。。

    WORD2000を使用しております。 テキストボックスの中の縦書きの文章に2桁~4桁の数字をそのまま、2,000や、20などのように入力しようと思うのですが、うまくいかず、さらにテキストボックスを作り、重ねているのが現状なのです。 どうしたら縦書きの文章の中に横文字が入るでしょうか。 お教えいただけたら幸いです。 よろしくお願いします。

  • エクセルVBAのことで

    A1にabcと入力されているとします。 また文字が入力されてない1文字分のテキストボックスが3つあるとします。 イメージとしては以下の感じです。 A1     □ abc     □        □ A1の3文字を1文字ずつテキストボックスにコピーするスクリプトを知りたいのですが。 abc  →  a        b        c (3つのテキストボックスの番号は"Text Box 501~Text Box 503"です) 以上、宜しくお願いします。

  • 整数かどうかチェックする

    テキストボックスに数字を入力させてボタンを押した時、 その数字が1桁の整数(0から9)でなければエラーメッセージを出すようにしたいのですが、何か簡単なコードはありますか? (5.6などの小数や、"a"や"あ"など数字ではない文字が入力された場合も同様にエラーを出したい) 1つずつ0から9までifでチェックしなければいけないのでしょうか。

  • 入力文字制限の方法

    質問なんですが・・・ 氏名<input type="text" name="name" value="" id="name"> というテキストボックスがあるんですが、これに全角ひらがな(文字)以外で入力して送信された場合に全角で入力するよう、alertを返す処理をしたいのですが、文字指定の処理の記述などを教えていただけないでしょうか?正規表現などがあったのですがよくわからなかったので、お願いします><

専門家に質問してみよう