Javascript regex seulement l'alphabet, le nombre et le soulignement
Je veux vérifier si une zone de texte d'entrée est valable (uniquement l'alphabet, des chiffres et des caractères de soulignement permis. Aucune des espaces ou des tirets). J'ai actuellement, mais les espacements & tirets semblent passer.
function validText(field)
{
var re = /[a-zA-Z0-9\-\_]$/
if (field.value.search(re) == -1)
{
alert ("Invalid Text");
return false;
}
}
Une entrée valide serait quelque chose comme
'Valid_Input123
'
invalide
'Invalid-Input !'
source d'informationauteur user1530318
Vous devez vous connecter pour publier un commentaire.
\w
est une pratique regex séquence d'échappement qui couvre des lettres, des chiffres et le caractère de soulignement^
) et la fin ($
) de l'expressiontest
méthode est plus rapide que la chaînesearch
méthode+
quantificateurPour résumer (en code)
Alternativement, vous pouvez tester pour les caractères non valides à l'aide de
\W
être n'importe quel caractère autres que des lettres, des chiffres ou le caractère de soulignement.Alors vous pourriez aussi avoir besoin d'ajouter un contrôle de la longueur d'invalider les cordes à vide, par exemple,
Vous êtes seulement de tester si le texte se termine (
$
) avec l'un des personnages de la classe de caractère. Vous êtes également en permettant explicitement un tiret (\-
). Si vous ne voulez pas que, de la supprimer.D'ancrage de l'expression (
^
$
), ajouter un quantificateur (+
) et.test
si la chaîne ne se compose que de ces personnages:^
test
est plus facile à utiliserIl devrait ressembler à ceci:
[\w]*
suffira.Regex101 Exemple
C'est un très de base des Expressions Régulières question
En savoir plus sur les expressions régulières ici: regular-expressions.info