我正在尋找一種很好的方法來檢查用戶輸入的可選逗號的正確位置的數字。如何檢查用戶輸入的數字中逗號的正確位置?
例如
1,000,000.00 = correct
1000000 = correct
1,00,000.00 = incorrect
,100,000 = incorrect
所以看起來我需要檢查看到,至少有一個號碼的左側和3個數字的逗號權,或者是有一個正則表達式的方法做這個?
我正在尋找一種很好的方法來檢查用戶輸入的可選逗號的正確位置的數字。如何檢查用戶輸入的數字中逗號的正確位置?
例如
1,000,000.00 = correct
1000000 = correct
1,00,000.00 = incorrect
,100,000 = incorrect
所以看起來我需要檢查看到,至少有一個號碼的左側和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();
}
你可以做的是替換所有的逗號,然後使用這個代碼在逗號自己添加。
希望有所幫助。
一種很長的驗證方法,但是,爲什麼*不*繼續並修復它?你只是驗證格式,而不是內容。 +1爲思考開箱即用。 – 2009-08-21 08:49:51
Here’s a pattern回答你的問題。在那裏還有許多其他與數字相關的模式,包括可維護的模式 - 這似乎從來沒有人擔心過。
誰在乎?逗號使人類讀者更容易破譯多少數字......而不是政治家是華盛頓特區的關懷。 – xcramps 2009-08-20 19:00:58