ハイフンを除外して、
何文字不足しているのかを表示するスクリプト
必要なJavaScriptは、ほとんど先ほどと同じで以下の18行です。このままHTMLに記述して下さい。
太字の部分は、画面に表示される文字や、その文字色です。好みに応じて自由に書き換えて下さい。(何も書き換えずに、そのままコピーして使っても構いません。)
<script type="text/javascript"><!-- function InputCharCheckWithoutHyphen( minnum, target, report ) { var diff = minnum - document.getElementById(target).value.replace(/-/g,"").length; var reps, repc; if( diff > 0 ) { // 足りない場合 reps = "(あと " + diff + " 文字足りません)"; repc = "red"; } else { // 足りた場合 reps = "OK!"; repc = "blue"; } document.getElementById(report).innerHTML = reps; document.getElementById(report).style.color = repc; } // --></script>
上記スクリプトの記述内容の解説は後に回します。(次のページで紹介しています。)
ハイフンを除外して、
何文字不足しているのかを表示するHTMLソース
上記のスクリプトを呼び出す入力フォームの作り方は、前ページでご紹介したHTMLとほぼ同じです。 例えば、以下のように記述します。
<p> ハイフンを除いて7桁: <input type="text" size="21" value="" id="sample4" onkeyup="InputCharCheckWithoutHyphen(7,'sample4','report4');"> <span id="report4">(入力して下さい)</span> </p>
上記のHTMLソースと先ほどのJavaScriptを表示させると、以下のように見えます。
ハイフンを除いて7桁: (入力して下さい)
※このサンプルでは半角文字の「-」だけを除外しています。
前ページのHTMLソースと異なる点は、呼び出す関数名が「InputCharCheck」から「InputCharCheckWithoutHyphen」に変わったという点だけです。
●input要素のonkeyup属性の値(スクリプトの呼び出し内容):
ここでは「 InputCharCheckWithoutHyphen(7,'sample4','report4');
」と記述しています。これは、このページの冒頭で作成したスクリプトを呼び出す記述です。
記述内容の意味は、前ページの関数「InputCharCheck」の場合と同様で、以下の通りです。
InputCharCheckWithoutHyphen( 文字数 , '入力欄のid名' , '表示領域のid名' );
- 文字数:
→ 「7文字以上」の入力を求めているので、「 7 」を記述します。 - 入力欄のid名:
→ 入力文字数のカウント対象にする入力欄は「 id="sample4" 」と記述したinput要素なので、「 'sample4' 」と記述します。 - 表示領域のid名:
→ 不足文字数の表示領域は「 id="report4" 」と記述したspan要素なので、「 'report4' 」と記述します。
※各id名は、引用符(シングルクオーテーション「 ' 」)で囲むのを忘れないようにして下さい。
※最初の数値(文字数)には引用符は不要です。
最後に、このページと前ページでご紹介したJavaScriptソースの意味を簡単に解説致します。