全角・半角を判定する

登録ボタンがクリックされたときにテキストフィールド内に半角カタカナが含まれているかを調べる。

<h2>半角・全角を判定する</h2>
<form name="registrationForm" id="registrationForm" method="get" action="./regist.cgi">
ふりがな:<input type="text" size="16" name="furigana" id="furigana"><br>
名  前:<input type="text" size="16" name="username" id="username"><br>
<input type="submit" value="登録">
</form>
(function(){
    //イベントとイベントハンドラを設定する
    if (window.addEventListener) window.addEventListener("load", addZHCheck, true);
    if (window.attachEvent) window.attachEvent("onload", addZHCheck);
    
    function addZHCheck(){
        //対象となるテキストフィールドの内容を取得する
        document.getElementById("registrationForm").onsubmit = function(){
            var furiganaText = document.getElementById("furigana").value;
            //読み出した文字列の半角・全角チェックを正規表現のmatch()を使って行う、一致しない場合はnullを返す
            if(furiganaText.match(/[ヲ-ン]/)){
                 alert("半角カタカナが含まれています。全角にしてください。");
                 return false;	// falseの場合はフォームを送信しない
            }
            return true;
        }
    }
})();