ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

正規表現でのチェック方法を考える-その2 整数と通貨記号

2008-04-07 10:52:00 | 正規表現

 チェックは、正規表現でやれば、いろんな言語でいけそうなので、正規表現で、いろんな値をチェックする方法を考える、シリーズ「正規表現でのチェック方法を考える」
 前回は、正の整数を考えたので、今回は、整数(負の数も含む)と、ついでに、通貨記号についても考えてみたいと思います。

 なお、このシリーズにおいて、説明文中の¥は、断りがなければ、半角の円マーク(ないしは、バックスラッシュ)に変えてください(入力が面倒なので全角にしています)




■負の数もふくむ場合

 前回、整数を、

   /^(0|[1-9]¥d*)$/

 と表現しました。ここで、-の記号をつけるわけですが、
-0
 っていうのは、へんです。ふつう、0には、符号をつけません。
 そこで、数字のほうだけに、-が、1個あってもよい(つまり?)として、

    /^(0|-?[1-9]¥d*)$/

 としておきましょう。




■通貨記号

 ここでは、円か、ドルとします。
 これが、あっても、なくてもよい。
 かつ、¥0っていうのは、存在するので、
 0と、それ以外の数字の前に、通貨記号をつけ、

   /^(¥¥|¥$)?(0|-?[1-9]¥d*)$/

 としておきましょう。
 なお、他の通貨があれば、¥¥|¥$のあとに、
 | をかいて、そのあと、通貨記号をかいていけばOK




■JavaScriptサンプル
 こんなかんじ
<HTML>
<HEAD>
<TITLE>JavaScriptテスト広場</TITLE>
<SCRIPT LANGUAGE="JavaScript"> 
<!--
function load()
{
}

function mycheck(val)
{
	if (val.search(/^(¥¥|¥$)?(0|-?[1-9]¥d*)$/)	!=	-1 )
	{
	}
	else
	{
		alert("エラー");
	}
}
-->
</SCRIPT>

</HEAD>
<BODY onload="load()">
<FORM NAME="buf">
<INPUT NAME="Text1" TYPE="hidden">
</FORM>

<FORM NAME="zikko">
<INPUT NAME="text1" TYPE="TEXT">
<INPUT NAME="button1" TYPE="BUTTON" VALUE="実行" onclick=mycheck(text1.value)>
</FORM>
</BODY>
</HTML>

(上記< > ¥は、本当は半角です)




こんかいはここまで


この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« 米マイクロソフト、ヤフーに... | トップ | モデルから、プログラムを作... »
最新の画像もっと見る

正規表現」カテゴリの最新記事