目的
入力フォームに入れたデータが、半角の正の少数(正数も含)または負の少数(負数も含)どうか判断できます。
そうでない場合は、"偽(false)" を返します。
半角の正の少数(正数も含){負の少数(負数も含)}である場合、その値を戻します(文字列で返します)。
この処理は、0 以上かどうかの判断になっています。

参考:
利用している Java Script のメソッド



仕組み
このページのソースを見る。
HEAD タグの、moji_IsNumPM(チェックする文字列,オプション) 関数がメイン関数です。

注意としては、「JavaScript による入力フォームに正の整数(正数)かまたは、負の整数(負数)が入ったかどうかのチェック」の仕組みの項目。

オプションは、
moji_IsNumPM(チェックする文字列,オプション) 関数の仕組みは、
  1. オプションが正規かどうかチェック
  2. チェックする文字列が空文字列でない事を確認
  3. 文字列を少数点(.)を境に二つに分割
  4. 小数部の文字列が "0" ばかりであり、かつ
  5. 整数部が「JavaScript による入力フォームのデータが正の整数(正数)かまたは、負の整数(負数)どうかチェック」の「ゼロチェック」ルーチン SubChkZero() 関数によって "真" を得るならば、
  6. "0.0" を返す。
  7. そうではない場合、
  8. 整数部が符号だけ(または、空文字列)だった場合、"0" を追加して、
  9. 「JavaScript による入力フォームのデータが正の整数(正数)かまたは、負の整数(負数)どうかチェック」の「符号チェック」ルーチン SubChkKigo() 関数に処理を渡す。
  10. 真なら、小数部が "0" かどうか判定する。
    (false の値が "0" なので、"false" か "0" なのか判定できないので先に行う)
    (「JavaScript による入力フォームのデータが正の整数(正数)かまたは、負の整数(負数)どうかチェック」の「ゼロチェック」ルーチン SubChkZero() 関数 を使う)
    (上記の関数でも、入力データに符号は含まれていないはずである)
  11. 小数部を「JavaScript による入力フォームのデータが正の整数(正数)かまたは、負の整数(負数)どうかチェック」の moji_IsInts() 関数に処理を渡す。
  12. 小数部の右側の "0" を削る
  13. 小数部が、数字であるならば、
  14. 整数部が "0" かどうか判定する。
    (false の値が "0" なので、"false" か "0" なのか判定できないので先に行う)
    (「JavaScript による入力フォームのデータが正の整数(正数)かまたは、負の整数(負数)どうかチェック」の「ゼロチェック」ルーチン SubChkZero() 関数 を使う)
    (上記の関数でも、入力データに異なる符号は含まれていないはずである)
  15. 整数部を「JavaScript による入力フォームのデータが正の整数(正数)かまたは、負の整数(負数)どうかチェック」に処理を渡す
  16. 整数部、小数部ともに "偽" でなければ、整数部と小数部を結合して文字列として値を返す。


という感じです。


正の少数(正数も含)のチェック
ここにいろいろと文字を入れてみて
正の少数なら、こっちにその値、それ以外は、False



負の少数(負数も含)のチェック
ここにいろいろと文字を入れてみて
負の少数なら、こっちにその値、それ以外は、False



免責など
著作権は放棄します。
このプログラムを使用したことによって生じた、
いかなる損害についても責任は持ちません。
ソースコードについても、各自の責任において、
自由にいじってくれてもいいです。


動作環境
Netscape Navigator 3.x 以上、Internet Explorer 3.x で動作すると思います。

動作確認ブラウザ
Netscape Navigator 3.04en for MS-Windows9x
OK
Netscape Communicator 4.6jp for MS-Windows9x
?
Netscape Communicator 4.72jp for MS-WindowsNT4.0
OK
Netscape Communicator 4.75jp for MS-Windows2000
OK
Netscape 6jp for MS-Windows2000
?
Internet Explorer 4.72.3110.1 SP1 for MS-Windows9x
?
Internet Explorer 4.72.3110.8 SP1 for MS-WindowsNT4.0
?
Internet Explorer 5.00.2314.1003 for MS-WindowsNT4.0
OK
Internet Explorer 5.00.2919.6307 for MS-WindowsNT4.0
OK
Internet Explorer 5.00.2920.0000 for MS-Windows9x
OK
Internet Explorer 5.00.2920.0000 for MS-Windows2000
OK
Netscape Communicator 4.7jp for MacOS9.04
?
Netscape 6.1 for MacOS9.2.2 (J1-9.2.2 MacOSROM J1-8.8.1)
OK
Internet Explorer 5.0(2022) for MacOS9.2.2 (J1-9.2.2 MacOSROM J1-8.8.1)
OK
Netscape 6.2.1jp for MS-Windows2000
OK
Netscape 6.2.3jp for MS-Windows2000
OK
Opera (free) 5.12 build932 for MS-Windows2000
OK
Mozilla 0.9.9 for RedHat Linux7.3
OK
Netscape Communicator 4.79Jp for RedHat Linux7.3
OK



mail to active@window.goukaku.com