2012-05-29 5 views
6

J'ai une expression régulière:comment corriger "". Insecure erreur" dans JSLint

return (str+'').replace(/^(.)|\s(.)/g, function ($1) { 
    return $1.toUpperCase (); 
}); 

je suis l'erreur suivante JSLint:

insécurité '.'

Ce qui rend la utilisation de la négation du jeu de caractères "non sécurisé"?

+0

duplication possible de [Comment corriger le message jslint Insecure '.'] (Http://stackoverflow.com/questions/7348028/how-to-fix-jslint-message-insecure) – Lambart

Répondre

4

Vous pouvez 'corriger' l'avertissement en disant à JSLint de l'ignorer: ajoutez regexp: true à vos paramètres JSLint en haut du fichier.

est ici JSLint's explanation pourquoi . et [^...] génèrent des avertissements par défaut:

They match more material than might be expected, allowing attackers to confuse applications. These forms should not be used when validating in secure applications.

Donc, si votre regexp est utilisé pour la validation d'entrée/formulaire, vous voudrez peut-être tenir compte de l'avertissement et utiliser le code légèrement différent . Si vous l'utilisez pour autre chose, il n'y a aucune raison de laisser l'avertissement activé.