jQuery: Vérifier si les caractères spéciaux il existe dans la chaîne de

Je sais que cette question est posée plus souvent ici sur la Pile, mais je n'arrive pas à obtenir une réponse directe de l'questions déjà posté.

J'ai besoin de vérifier si tous les caractères spéciaux (à l'exception de -) sont dans une chaîne de caractères, si oui, donner à l'utilisateur une alerte.

Ce que j'ai jusqu'à présent est: est-ce

if($('#Search').val().indexOf('@') == -1 || $('#Search').val().indexOf('#') == -1 || $('#Search').val().indexOf('$') == -1 || $('#Search').val().indexOf('%') == -1 || $('#Search').val().indexOf('^') == -1 || $('#Search').val().indexOf('&') == -1 || $('#Search').val().indexOf('*') == -1 || $('#Search').val().indexOf('(') == -1 || $('#Search').val().indexOf(')') == -1 || $('#Search').val().indexOf('_') == -1 || $('#Search').val().indexOf('\'') == -1 || $('#Search').val().indexOf('\"') == -1 || $('#Search').val().indexOf('\\') == -1 || $('#Search').val().indexOf('|') == -1 || $('#Search').val().indexOf('?') == -1 || $('#Search').val().indexOf('/') == -1 || $('#Search').val().indexOf(':') == -1 || $('#Search').val().indexOf(';') == -1 || $('#Search').val().indexOf('!') == -1 || $('#Search').val().indexOf('~') == -1 || $('#Search').val().indexOf('`') == -1 || $('#Search').val().indexOf(',') == -1 || $('#Search').val().indexOf('.') == -1 || $('#Search').val().indexOf('<') == -1 || $('#Search').val().indexOf('>') == -1 || $('#Search').val().indexOf('{') == -1 || $('#Search').val().indexOf('}') == -1 || $('#Search').val().indexOf('[') == -1 || $('#Search').val().indexOf(']') == -1 || $('#Search').val().indexOf('+') == -1 || $('#Search').val().indexOf('=') == -1)
{
//Code that needs to execute when none of the above is in the string
}
else
{
alert('Your search string contains illegal characters.');
}

Mais cela ne semble pas fonctionner... quelqu'un Peut m'aider sur cette question?

Merci d'avance!

Guido

  • Vous avez besoin d'utiliser une expression régulière ici, au lieu d'un bazillion conditions distinctes. Et vous certainement ont à dire exactement comment il "ne semble pas fonctionner".
  • Voir ce peut être vous aider stackoverflow.com/questions/10505772/...
InformationsquelleAutor Guido Visser | 2012-12-12