ショボ短歌会

現在、次のようなテキストフォーム(一部属性を省略)を利用しています。
<input onchange="if (!this.value) {return false;}" type="text" style="text-align: right; ime-mode: disabled;" />
onChange のときに、this.value に小数点を除く半角数字
("0", "1", "2", "3", "4", "5", "6", "7", "8", "9")
以外の文字があると、false を返すようにしたいのですが、どう書けば可能しょうか。

正規表現を使うと思うのですが、まだ勉強中でよく分かりません。
よろしくおねがいします。

A 回答 (1件)

this.valueに検査したい文字列が入っているとすると、


 if( this.value.match(/\D/) ) {return false;}
または
 if( !this.value.match(/^\d*$/) ) {return false;}

なお、正規表現において、
\d は数字で[0-9]と同じ、
\D 数字以外の文字で[^0-9]と同じです。
    • good
    • 0
この回答へのお礼

詳しい説明付きで、また一つ勉強になりました。ありがとうございます。

お礼日時:2006/10/03 00:14

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