Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

289
Visualizações
Validación Regex para un valor específico con React Formik

Primero, quiero validar el campo de que si el usuario escribe un carácter que no existe en este (por ejemplo): /[ùûüÿ€'“”«»–àâæçéèêëïîôœ]/ el mensaje de error se activará desde Yup.

En segundo lugar, quiero concatenar las 3 variables con la validación Regex.

Aquí está el código:

 const validChars1 = /[A-Za-z0-9`~!@#$%^&*()+={};:'”,./<>?| \\\\\ [\]]*$/; const validChars2 = /[ùûüÿ€'“”«»–àâæçéèêëïîôœ]/; const validChars3 = /[áéíóúüñ¿]/; const mainValidator = validChars1 + validChars2 + validChars3; const validationSchema = yup.object({ primaryInformation: yup.object({ externalEmployeeId: yup .string() .matches(mainValidator, "Please enter valid name") .required(intl.get("userManagement.editor.requiredFieldError")) //Error: Operator '+' cannot be applied to types 'RegExp' and 'RegExp'

Por favor, ayúdame a salir de este problema, ¡gracias!

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Si bien no puede componer RegExps como este con JavaScript simple, puede hacerlo

 const validChars1 = /[A-Za-z0-9`~!@#$%^&*()+={};:'”,./<>?| \\\\\ [\]]*$/; const validChars2 = /[ùûüÿ€'“”«»–àâæçéèêëïîôœ]/; const validChars3 = /[áéíóúüñ¿]/; const mainValidator = new RegExp( validChars1.source + validChars2.source + validChars3.source ); // etc...

Sin embargo, hay otro problema con sus RegExps: el primero termina con las aserciones $ que coinciden con el final de la entrada. Un RegExp de la forma /a$b/ nunca tendrá éxito porque $b es contradictorio. ni "a" ni "ab" pueden satisfacerlo. para "a" , $ tendrá éxito, pero b fallará, y viceversa para "ab" .

Si desea componer RegExps sin recurrir a la manipulación de cadenas de origen, puede echar un vistazo a compose-regexp que le permitiría escribir código como este:

 import {sequence} from 'compose-regexp' const validChars1 = /[A-Za-z0-9`~!@#$%^&*()+={};:'”,./<>?| \\\\\ [\]]*/; const validChars2 = /[ùûüÿ€'“”«»–àâæçéèêëïîôœ]/; const validChars3 = /[áéíóúüñ¿]/; const mainValidator = sequence(validChars1, validChars2, validChars3);
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda