- ベストアンサー
全角カタカナ バリデーションチェック
入力フォームで、全角カタカナ以外を入力し確定ボタンを押すとアラートを出すjavascriptが知りたい。(javascriptファイルは外部参照にしたいです)
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
function kana(arg){return arg.match(/^[ァ-ン]+$/) ? true:false;} あれだと カタカナが一部でも含まれていればtrueを返す
その他の回答 (3)
- yambejp
- ベストアンサー率51% (3827/7415)
>astr.match(/[ァ-ン]+/) ってastrに1文字でもカタカナがはいっていればってことですよ astr.match(/^[ァ-ン]+$/)・・・頭からケツまですべてカタカナとするか !astr.match(/[^ァ-ン]/)・・・カタカナ以外の文字がはいっていない とするのが妥当かと。 ちなみに文字コードによって必ずしもカタカナは「ァ-ン」だとは 限らないですよ。
お礼
ありがとうございました、全部カタカナにして欲しかったです、astr.match(/^[ァ-ン]+$/)のように書きなおして解決しました。
正規表現を、下記のようにしてはいかがでしょうか。 /^[ァ-ン]+$/ 私の環境でも、質問者さんと同じようにするとカタカナ以外にもマッチしてしまいました。
お礼
ありがとうございました、回答者さんの言ったように書いたら、解決しました。
補足
回答ありがとうございました。 調べましたが、自分のところで実行したら思った通りに行かなかったため、ここに来たのです。 私はこのように書きましたが、どこか間違っているですよね? //JavaScriptファイルでは function isOnlyZenkakukana(arg){ astr = arg; if (astr.match(/[ァ-ン]+/)) { return true; } return false; } //jspファイルには if (isOnlyZenkakukana(wKana) == false) { //フリガナの全角カナチェック window.alert("<%= ShopWarningMessages.NOT_ZENKAKU_KANA %>"); wForm["<%= ShopDefinition.STAFF_KANA %>" + wi].select(); return false; } どこか間違っているのか?教えてお願いします。
お礼
ありがとうございました、(/^[ァ-ン]+$/)私のどころが^と$を追加して、正常判別できるようになりました。(^-^)