オプションのコンマの正しい位置についてユーザーが入力した数字を確認する良い方法を探しています。
例えば
1,000,000.00 = correct
1000000 = correct
1,00,000.00 = incorrect
,100,000 = incorrect
したがって、カンマの左側に少なくとも1つの数字と右側に3つの数字があることを確認する必要があるように見えますか、またはこれを行う正規表現の方法はありますか?
オプションのコンマの正しい位置についてユーザーが入力した数字を確認する良い方法を探しています。
例えば
1,000,000.00 = correct
1000000 = correct
1,00,000.00 = incorrect
,100,000 = incorrect
したがって、カンマの左側に少なくとも1つの数字と右側に3つの数字があることを確認する必要があるように見えますか、またはこれを行う正規表現の方法はありますか?
/^(?:\d+|\d{1,3}(?:,\d{3})*)(?:\.\d+)?$/
これ何に使うの?または別の言い方をすれば、なぜ気にするのですか?すべてのカンマを取り除いて数値型に変換しないのはなぜですか?
このウェブサイトをチェックしてください: 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();
}
できることは、すべてのコンマを置き換えてから、このコードを使用して自分でコンマを追加することです。
それが役立つことを願っています。
これがあなたの質問に答えるパターンです。そこには、保守可能なものを含め、他にも多くの数値関連のパターンがあります。これは、誰も心配していないようです。