Estoy usando una expresión regular -
/^[0-9a-zA-Z ~!@#$%^&*-_+=|?]*$/para aceptar caracteres alfanuméricos y algunos especiales para la validación de cadenas en JS . Pero no quiero que todos los caracteres de cadena sean solo caracteres especiales. Sugiera una expresión regular válida para este caso.
Gracias.
Podrías expresar tu expresión regular como:
^[0-9a-zA-Z ~!@#$%^&*-_+=|?]*[0-9a-zA-Z][0-9a-zA-Z ~!@#$%^&*-_+=|?]*$Esto dice que coincida con al menos un carácter alfanumérico puro, con otros caracteres alfanuméricos o símbolos opcionales.
^ start of the string [0-9a-zA-Z ~!@#$%^&*-_+=|?]* match zero or more alphas or symbols [0-9a-zA-Z] match one alphanumeric character [0-9a-zA-Z ~!@#$%^&*-_+=|?]* match zero or more alphas or symbols $ end of the stringPara una expresión regular un poco más concisa, también podría usar una búsqueda anticipada positiva:
^(?=.*[0-9a-zA-Z])[0-9a-zA-Z ~!@#$%^&*-_+=|?]*$Puedes hacerlo de varias maneras.
"cualquier número de alfanumérico o especial" seguido de "alfanumérico" seguido de "cualquier número de alfanumérico o especial" (afirma que hay al menos un alfanumérico allí)
^[0-9a-zA-Z ~!@#$%^&*-_+=|?]*[0-9a-zA-Z][0-9a-zA-Z ~!@#$%^&*-_+=|?]*$afirmar al principio "anticipación: cualquier número de caracteres más tarde, habrá un alfanumérico"
^(?=.*[0-9a-zA-Z])[0-9a-zA-Z ~!@#$%^&*-_+=|?]*$