Estoy tratando de crear expresiones regulares que comenzarán con un número como 230, 420, 7456. Entonces podría haber algún número en el intervalo 1-9, pero la longitud final debe ser 9.
Por ejemplo 230888333 o 745623777
Creo esto:
([(230|420|7456)[0-9]{1,}]{9})
Pero no es correcto. ¿Alguna idea de cómo hacer esto correcto?
Gracias
El patrón que probó no está anclado, y la notación actual usa una clase de caracteres [...] en lugar de una agrupación (la parte ]{9} al final repite 9 veces un carácter ] )
Si usa C#, use [0-9] para hacer coincidir un dígito 0-9.
Puede afirmar 9 dígitos en total:
^(?=[0-9]{9}$)(?:230|420|7456)[0-9]+$Demostración de expresiones regulares
O escribe una alternancia para diferentes longitudes iniciales de dígitos:
^(?:(?:230|420)[0-9]{6}|7456[0-9]{5})$Simplemente puede agregar un cheque para la longitud primero y luego una expresión regular simple
function checkString(str){ return str.length === 9 && /^(?:230|420|7456)\d+$/.test(str) } console.log(checkString("230888333")) console.log(checkString("745623777")) console.log(checkString("123")) console.log(checkString("230888333123"))