¿Cómo puedo verificar la ubicación correcta de las comas en un número ingresado por un usuario?
-
19-09-2019 - |
Pregunta
Estoy buscando una buena manera de verificar un número que un usuario ha ingresado para una posición correcta de comas opcionales.
Por ejemplo
1,000,000.00 = correct
1000000 = correct
1,00,000.00 = incorrect
,100,000 = incorrect
Por lo tanto, parece que necesito verificar para ver que hay al menos un número a la izquierda y 3 números a la derecha de la coma, o ¿hay una forma regular de hacerlo?
Solución
¿Para qué vas a usar esto? O poner de otra manera, ¿por qué le importa? ¿Por qué no simplemente eliminar todas las comas y convertirlo a un tipo numérico?
Otros consejos
/^(?:\d+|\d{1,3}(?:,\d{3})*)(?:\.\d+)?$/
Echa un vistazo a esta página web: http://blog.stevenlevithan.com/archives/commafy-numbers
Aquí está el fragmento de código:
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();
}
Lo que puede hacer es reemplazar todas las comas y luego usar este código para agregar las comas usted mismo.
Espero que ayude.
Aquí hay un patrón Eso responde a tu pregunta. También hay muchos otros patrones relacionados con el número, incluidos los que se pueden mantener, algo de lo que nadie parece preocuparse.