Как я могу проверить правильное местоположение запятых в номере, введенное пользователем?
-
19-09-2019 - |
Вопрос
Я ищу хороший способ проверить номер, который пользователь ввел для правильной позиции дополнительных запятых.
Например
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();
}
То, что вы можете сделать, это заменить все запятые, а затем использовать этот код, чтобы добавить в запятые сами.
Надеюсь, это поможет.
Вот образец Это отвечает на ваш вопрос. Там также есть много других схем, связанных с номером, в том числе тех, которые подлежат обслуживанию-то, о чем никто никогда не беспокоится.