JavaScriptでフォームの入力項目をリアルタイムでチェックする「jQuery Form Validators」で全角カナや半角数字のみを入力できるようにすることはできますか?

このQ&Aのポイント
  • JavaScriptを使用してフォームの入力項目をリアルタイムでチェックする方法を探しています。特に、全角カナのみで姓名を入力する項目と、半角数字のみで電話番号を入力する項目のチェックを実装したいです。メールアドレスのチェックは既に実装できましたが、それ以外の項目については解決できていません。
  • 参考にしたサイト( http://www.skuare.net/test/jvalidator.html )では、正規表現を使用して入力のチェックを行っているようです。具体的な正規表現の書き方や、どのように実装すれば良いかがわかりません。ご教授いただければと思います。
  • どうすればJavaScriptを使用して全角カナのみや半角数字のみの入力をチェックできるか、具体的な方法やコードの書き方を教えていただけないでしょうか?お手数をおかけしますが、よろしくお願いいたします。
回答を見る
  • ベストアンサー

JavaScriptでフォームの入力項目をリアルタイムでチェックする「

JavaScriptでフォームの入力項目をリアルタイムでチェックする「jQuery Form Validators」で全角カナや半角数字のみを入力できるようにすることはできますか? (参考にしたサイト) http://www.skuare.net/test/jvalidator.html フォームの入力項目で以下の入力のチェックが出来るようにしたいのですが可能でしょうか? ・全角カタカナのみで姓名の入力 ・半角数字のみで電話番号の入力 メールアドレスは、inputタグのサンプルにある部分をコピーすることで出来ました。 --------------------------------------- validExpress="[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?\.)+[a-zA-z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?" --------------------------------------- validExpress=""の""の中を指定すれば良いのだと思うのですがどうしても解決せず、この場で質問させて頂いてます。 どうかご教授の程、宜しくお願い致します。

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

  • ベストアンサー
  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.2

ぱっと見ですが、validExpressで正規表現パターンを書けば良いみたいですね。 [全角カタカナ] validExpress="^[\u30A0-\u30FF]+$" 又は、validExpress="^[ァ-ン]+$/" でもいいのかな [電話番号] validExpress="^?d{1,4}-?d{4}$|^?d{2,5}-?d{1,4}-?d{4}$"

i-love-fit
質問者

お礼

^[ァ-ン]+$/で全角カタカナのみを要求できるようになりました。 お手数掛けました、有難う御座いました。

その他の回答 (1)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

全角データは文字コードによって指定範囲や並び順が異なります 文字コードが特定できないのであれば、複数処理を記述する必要があるため 表現はかなりめんどうになります。 半角数字は正規表現では/^[0-9]+$/的な表現になりますので適当に調整を してみてください なおリアルタイムで処理をするならkeydownやkeyupなどのトリガーが必要かも

関連するQ&A

  • フォーム入力のチェック

    フォームの入力をCGI(Perl)でチェックするとき、 全角の漢字、カタカナ、ひらがなでの入力以外は禁止にしたいです。 どなたかいい方法をご存知でしょうか? とりあえず、現在は、 jcode.plで全角英数字⇒半角英数字に変換 フォームに入力された文字列を一文字(半角2文字)ずつ抽出して、 $a=~ s/([^\w ])/'%' . unpack("H2", $1)/eg; でエンコードしたものが%を含んでいるかどうかで判別してます。 でもこれだと全角英数字と半角英数字しかシャットアウトできません。 記号文字なども入力出来ないようにしたいです。 よろしくお願いします。

    • ベストアンサー
    • CGI
  • jqueryで入力チェック

    jqueryで入力チェックをリアルタイムに行いたいです。 入力フォームにフォーカスが当たった際に「必須項目です。」や 「半角でお願いします。」など入力の説明文を表示させ、 もし間違った入力をしたまま、 次の入力項目にフォーカスが当たると前の入力項目に 「この項目は必須です。」や「半角で入力してください。」など エラーメッセージを表示させたいのです。 上記のような事ができるjqueryのプラグインをご存知の方、 いらっしゃいましたら、お手数ですが、お教え頂けますでしょうか? どうぞ宜しくお願い致します。

  • フォームの入力チェック

    いつも参考にさせて頂いています。 Perl初心者です。 フォームの入力チェックを作成したいと思っています。 チェック項目 ・会社名    → 空入力でないか、全角入力であるか ・住所     → 会社名のチェックと同様 ・電話番号   → 空入力でないか、半角であるか 処理 上の条件を満たさなかった場合は 「全角で入力してください。」や 「電話番号は半角数字で入力してください」 などといった コメントを付けたページを表示させる。 満たした場合は 「登録しました。」 というようなページを表示。 そこで、入力チェックの条件文を書いたのですが 空入力された場合の条件式がわかりません。 どなたか教えて下さる方がいらっしゃいましたら 宜しくお願いします。 また、入力チェック後のページ切り替えはどのように 行っているのでしょうか? 宜しくお願いします。 #-----社名チェック----- if ($name =~ /[\xA1-\xFE][\xA1-\xFE]/) { $namecheck = ""; } else { $namecheck = "全角入力をして下さい。"; } #-----住所チェック----- if ($adr =~ /[\xA1-\xFE][\xA1-\xFE]/) { $adrcheck = ""; } else { $adrcheck = "全角入力をして下さい。"; } #-----電話番号チェック----- if($tel =~ /^[0-9]+$/) { $telcheck = ""; } else { $telcheck = "電話番号は半角数字で入力してください。"; } ※会社名、住所の全角チェックはjcodeでEUC-JPに変換しています。

  • 正規表現を使って入力チェックを行う

    JavaScriptで正規表現を用いて半角英数入力チェックを行いたいのですが、うまくいきません。 ご協力お願いします。 --【1】------------------------------------------------- if((element2.value.match(/^[^0-9a-zA-Z]$/)){  document.FORM01.in_AAA.value="";  return false; } ------------------------------------------------------- 【1】では、半角、全角に関わらず正常に処理が行われます。 --【2】------------------------------------------------- if(!element2.value.match(/^[^0-9a-zA-Z]$/)){   document.FORM01.in_AAA.value="";   return false; } ------------------------------------------------------- 【2】にすると、半角、全角ともエラーとなってしまいます。 どのようにすれば、実装できるのでしょうか。 皆さん、よろしくお願いします。

  • 空欄でも送信可能なフォーム入力項目の設定方法をおし

    メールアドレスの入力欄なのですが、項目に半角英数指定をしています。 こちらを未入力(空欄)の状態で送信しようとするとエラーメッセージが出てしまうのですが、 入力なしでも送信できるように設定できるコードなどがあれば教えていただけないでしょうか。 下記は現在設定している半角英数指定のコードです。 if ($form{'before'} !~ /^[\w\+\.-]+@[\w\+\.-]*[A-Za-z0-9-]{2,23}\.[A-Za-z]{2,4}$/) { &error_check("<B>メールアドレスの形式</B>が間違っています。半角で正しく入力してください。<BR>");next;} よろしくお願いいたします。

    • 締切済み
    • CGI
  • 正規表現を使った入力値のチェック

    こんにちは、yukimura1024です。 perlでブラウザのフォームに入力された値をチェックしたいのですが、 入力された値が「全角文字のみか」と「全角カタカナのみか」 という2種類のチェックのしかたがわかりません。 「数値のみか」のチェックは正規表現を使ってできたのですが、 これと同じように正規表現を使って、この2つの全角チェックをする 方法はないでしょうか? 数値チェックは以下の方法でやっています↓ if ($str_txt_yuubin =~ /[^0-9]/) { print "「郵便番号」を半角数字で入力してください。<br>\n"; } ご存知の方がいましたら教えていただけると助かります。 よろしくお願い致します。

    • ベストアンサー
    • Perl
  • Javascriptで入力チェックを自動化

    入力フォームを作る際に、作るたびに項目数や必須項目が異なるので、毎回チェックを作るのが面倒になってきました。 そこで、入力フォームのname属性に「*」や「■」が入っていると自動的に必須項目になるようにJavascriptを汎用的に作ることはできないでしょうか? JQueryを使ってもいいので、簡単な方法を知っている方、またはそういうサイトを知っている方よろしくお願いします。

  • メールアドレス入力チェック

    毎回初心者な質問で申し訳ないです。 Strutsを使ってフォーム作成中なのですが、Validatorではなくjavaの中でエラーチェックをしています。 入力の有無でのエラーチェックはできたのですが、メールアドレスチェックができません。 自分としては 「1文字以上の半角英数記号」@「1文字以上の半角英数記号」 じゃなかったらエラーを返すようにしたいと思い以下のように記述しました。 if (mail != "[\\d[a-zA-Z]*]+@[\\d[a-zA-Z]*]"){ errors.add("mail", new ActionMessage("errors.mail")); } 動かしてみると何を入力してもエラーがかえるようになってしまいました。 正しい記述をご存知の方、ご教授ください。よろしくお願いいたします。

    • ベストアンサー
    • Java
  • Jcode,pmを使った連続変換に失敗してしまう

    フォームから入力された内容について、 全角数字を半角数字へ、半角カナを全角カナへ変換したいので、 Jcode.pmを使ったのですが、たとえば、 「全角数字を半角数字」だけとか、「半角カナを全角カナ」だけ だとうまくできますが、連続して両方変換しようとすると Jcodeのエラー「Not a SCALAR reference at Jcode.pm line 626」がかえってきてしまいます。 このようなコードを書いています。 use Jcode; $AAA = 'あいう012カキクser'; (実際はフォームからのデータ) &Jcode::convert(\$AAA, 'euc'); my $j = Jcode->new(); $j->set($AAA, 'euc'); $BBB = $j->tr('0-9A-Za-z', '0-9A-Za-z'); (数字変換:ここまでは成功する) my $j = Jcode->new(); $j->set($BBB, 'euc'); #1 $CCC = $j->h2z->euc; (カナ変換:失敗してエラーが発生する) コードはEUCで書いています。どうも #1 のところで、 2行上であらかじめJcodeによって変換されたものが格納されている 変数$BBBを指定するとエラーが起きるようです。#1のところで、 $j->set($AAA, 'euc'); #1 $CCC = $j->h2z->euc; とするとエラーは起きないのです。 変換の順番をいれかえても現象は同じでした。 どうすれば両方の変換ができるようになるでしょうか。 どうぞよろしくお願いします。

    • ベストアンサー
    • Perl
  • フォームへの入力リアルタイムチェック

    現在、メールフォームを作成しております、 プルダウン、チェックボックス、ラジオボタン、テキストエリア を利用しておりますが、リアルタイムチェックし、 入力・選択に入力がない、選択がない、入力内容に問題がある場合は、 独自の画像(×等)+エラーテキストを表示し、 問題がなければ、○の画像+エラーテキストを非表示にしたいです。 おすすめなライブラリなどはございませんでしょうか。

専門家に質問してみよう