1

オプションのコンマの正しい位置についてユーザーが入力した数字を確認する良い方法を探しています。

例えば

1,000,000.00 = correct
1000000      = correct
1,00,000.00  = incorrect
,100,000     = incorrect

したがって、カンマの左側に少なくとも1つの数字と右側に3つの数字があることを確認する必要があるように見えますか、またはこれを行う正規表現の方法はありますか?

4

4 に答える 4

5
/^(?:\d+|\d{1,3}(?:,\d{3})*)(?:\.\d+)?$/
于 2009-08-20T18:34:22.477 に答える
2

これ何に使うの?または別の言い方をすれば、なぜ気にするのですか?すべてのカンマを取り除いて数値型に変換しないのはなぜですか?

于 2009-08-20T18:44:21.770 に答える
2

このウェブサイトをチェックしてください: http://blog.stevenlevithan.com/archives/commafy-numbers

コード スニペットは次のとおりです。

String.prototype.commafy = function () {
    return this.replace(/(^|[^\w.])(\d{4,})/g, function($0, $1, $2) {
        return $1 + $2.replace(/\d(?=(?:\d\d\d)+(?!\d))/g, "$&,");
    });
}

Number.prototype.commafy = function () {
    return String(this).commafy();
}

できることは、すべてのコンマを置き換えてから、このコードを使用して自分でコンマを追加することです。

それが役立つことを願っています。

于 2009-08-20T18:48:19.140 に答える
0

これがあなたの質問に答えるパターンです。そこには、保守可能なものを含め、他にも多くの数値関連のパターンがあります。これは、誰も心配していないようです。

于 2010-11-23T15:01:48.303 に答える