/ / ¿Cómo puedo usar una expresión regular para saber si una cadena tiene 10 dígitos? - asp.net, expresiones regulares, validación

¿Cómo puedo usar una expresión regular para saber si una cadena tiene 10 dígitos? - asp.net, expresiones regulares, validación

Necesito encontrar una expresión regular que pruebe que una cadena de entrada contiene exactamente 10 caracteres numéricos, a la vez que se permiten otros caracteres en la cadena.

Estaré eliminando todos los caracteres no numéricos en el procesamiento posterior, pero necesito la expresión regular para la validación del lado del cliente.

Por ejemplo, todos estos deben coincidir:

  • 1234567890
  • 12-456879x54
  • 321225 -1234AAAA
  • xx1234567890

Pero estos no deberían:

  • 123456789 (no hay suficientes dígitos)
  • 12345678901 (demasiados dígitos)

Parece que debería ser muy simple, pero simplemente no puedo resolverlo.

Respuestas

13 para la respuesta № 1
/^D*(dD*){10}$/

Básicamente, haga coincidir cualquier número de caracteres sin dígitos, seguido de un dígito seguido de cualquier número de caracteres sin dígitos, exactamente 10 veces.


0 para la respuesta № 2

Puede ser una forma más simple, pero esto debería hacerlo.

/^([^d]*d){10}[^d]*$/

Aunque la expresión regular es más fácil de manejar si primero elimina todos los caracteres no numéricos y luego prueba el resultado. Entonces es un simple

/^d{10}$/

0 para la respuesta № 3
^D*(dD*){10}D*$