¿Cómo puedo verificar la ubicación correcta de las comas en un número ingresado por un usuario?

StackOverflow https://stackoverflow.com/questions/1308016

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?

¿Fue útil?

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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top