dポイントプレゼントキャンペーン実施中!

入力フォームで、全角カタカナ以外を入力し確定ボタンを押すとアラートを出すjavascriptが知りたい。(javascriptファイルは外部参照にしたいです)

A 回答 (4件)

function kana(arg){return arg.match(/^[ァ-ン]+$/) ? true:false;}



あれだと
カタカナが一部でも含まれていればtrueを返す
    • good
    • 0
この回答へのお礼

ありがとうございました、(/^[ァ-ン]+$/)私のどころが^と$を追加して、正常判別できるようになりました。(^-^)

お礼日時:2008/11/14 13:15

>astr.match(/[ァ-ン]+/)



ってastrに1文字でもカタカナがはいっていればってことですよ

astr.match(/^[ァ-ン]+$/)・・・頭からケツまですべてカタカナとするか
!astr.match(/[^ァ-ン]/)・・・カタカナ以外の文字がはいっていない
とするのが妥当かと。

ちなみに文字コードによって必ずしもカタカナは「ァ-ン」だとは
限らないですよ。
    • good
    • 0
この回答へのお礼

ありがとうございました、全部カタカナにして欲しかったです、astr.match(/^[ァ-ン]+$/)のように書きなおして解決しました。

お礼日時:2008/11/14 13:17

正規表現を、下記のようにしてはいかがでしょうか。



/^[ァ-ン]+$/

私の環境でも、質問者さんと同じようにするとカタカナ以外にもマッチしてしまいました。
    • good
    • 0
この回答へのお礼

ありがとうございました、回答者さんの言ったように書いたら、解決しました。

お礼日時:2008/11/14 13:23

なぜ聞く前に調べない?


http://allabout.co.jp/internet/hpcreate/closeup/ …

この回答への補足

回答ありがとうございました。
調べましたが、自分のところで実行したら思った通りに行かなかったため、ここに来たのです。
私はこのように書きましたが、どこか間違っているですよね?
//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;
}

どこか間違っているのか?教えてお願いします。

補足日時:2008/11/14 11:27
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!