-1

私はこのようなものを検証したいと思います.Numeric values and or with the dot

これらは有効です:

  • 1
  • 1.1
  • 12.12.12
  • 123.123.123.12
  • 1.12.123.12345.123456

これらは有効ではありません:

  • .1
  • 1.
  • 123.123.
  • 123..

私が試したこと

  • /^[\d*\.?\d*]+$/.test(the_number_from_form_input_field)
  • this.value.match(/[^\d*\.?\d*$]/)
  • /^[\d+(\.\d)?]+$

私が現在使用しているもの

  • /^[\d\.]+$/.test(the_number_from_form_input_field)
  • this.value.match(/[^\d\.]/)

これを .match() と .test() で動作させたい

4

4 に答える 4

4

テストを逆にすると、これはより簡単になる可能性があります。

if (/\.([^\d]|$)/.test(myString)) {
    // test failed
}

つまり、数字が続かないリテラルのドット、または文字列の末尾を探します。

于 2012-05-01T14:51:08.783 に答える
2

jqueryについてはわかりませんが、これでうまくいくと思います

^\d+(\.\d+)*$
于 2012-05-01T14:57:07.703 に答える
1
myString.test(/^\d+(\.\d+)*$/);

JSフィドル

-編集- veeTrain に感謝\d*します。何もしなかったため最後に削除されました。(それはまだフィドルにあります)

于 2012-05-01T14:52:56.023 に答える
0

これらの値は次の方法で見つけることができると思います。

/^(\d+\.)*\d+$)/

ゼロ、1 つまたは複数の数字およびドット グループの後に 1 つまたは複数の数字が続くものを検索します。

フィドルのrsplakに感謝します。私たちの正規表現は両方ともこの問題を解決しているようです。私の活動中

于 2012-05-01T14:57:01.997 に答える