que tienen un patrón de expresión regular, lo que valida para un número de tres dígitosJavascript RegEx coincidencia parcial
/^\d{3}$/.test("123") // true
/^\d{3}$/.test("123.") // false
quiero usar esta expresión regular como una restricción de entrada en un cuadro de texto.
Básicamente, si el nuevo valor coincide, dejo el carácter escrito, de lo contrario lo evito.
El problema es que ningún valor coincidirá nunca, porque "1" no es una coincidencia completa, y no me permitirá escribirlo.
¿Hay alguna manera de probar una coincidencia parcial para un regEx en javascript?
/^\d{3}$/.test("123") // true
/^\d{3}$/.test("12") // "partial match"
/^\d{3}$/.test("a12") // false
EDITAR
\ d {3} fue sólo un ejemplo. Necesito usar una expresión regular de correo electrónico o una expresión regular de teléfono como restricción de entrada.
"email" // true
"[email protected]" // true
"[email protected]@" // false
"@yahoo.com" // false
EDIT 2
I tienen un plugin textBox con la restricción de entrada basado en una expresión regular.
La expresión regular puede ser cualquier cosa, un color hex Regex, por ejemplo: (#) {1} ([a-FA-F0-9]) {6}
I necesidad de prevenir usuario que inserte caracteres que no coincide con la expresión regular.
Por ejemplo, si el cuadro de texto está vacío, el primer carácter permitido sería "#".
Pero si pruebo el carácter "#" contra la expresión regular, devolverá "falso", porque "#" en sí mismo no es válido.
/^(#){1}([a-fA-F0-9]){6}$/.test("#") // false
Pero al mismo tiempo, "#" es parcial válida porque respeta el formato de expresiones regulares (y que debería permitir a los usuarios que escribirla)
Lo que necesito saber es si puedo comprobar si una cadena es una coincidencia parcial de una expresión regular, por lo que puedo permitir que el usuario escriba el carácter.
/^(#){1}([a-fA-F0-9]){6}$/.test("#") // is a partial match, allow type
/^(#){1}([a-fA-F0-9]){6}$/.test("#0") // is a partial match, allow type
/^(#){1}([a-fA-F0-9]){6}$/.test("#00") // is a partial match, allow type
/^(#){1}([a-fA-F0-9]){6}$/.test("#000") // is a partial match, allow type
/^(#){1}([a-fA-F0-9]){6}$/.test("#0000") // is a partial match, allow type
/^(#){1}([a-fA-F0-9]){6}$/.test("#00000") // is a partial match, allow type
/^(#){1}([a-fA-F0-9]){6}$/.test("#000000") // is a partial match, allow type
/^(#){1}([a-fA-F0-9]){6}$/.test("#000000D") // is not a match, prevent typing
¿Tienes respuesta a tus preguntas? – user153
No, no hay respuesta – Catalin
Me enfrento a un problema similar :) – user153