2012-05-29 21 views
6

Mam wyrażenia regularnego:jak naprawić " ''. Niepewnych błąd" w Jslint

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

Dostałem następujące jslint błędzie:

niepewny '.'

Co sprawia, że użycie negacji zestawu znaków "niepewny"?

+0

możliwy duplikat [jak naprawić wiadomość jslint Insecure "."] (Http://stackoverflow.com/questions/7348028/how-to-fix-jslint-message-insecure) – Lambart

Odpowiedz

4

Możesz "naprawić" ostrzeżenie, nakazując JSLint, aby je zignorował: dodaj regexp: true do ustawień JSLint na górze pliku.

Oto JSLint's explanation dlaczego . i [^...] generowanie ostrzeżeń domyślnie:

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

Więc jeśli regexp służy do sprawdzania poprawności danych wejściowych/forma, to może chcieć baczcie ostrzeżenia i użyć nieco inny kod . Jeśli używasz go do czegokolwiek innego, nie ma powodu, aby pozostawić włączone ostrzeżenie.

Powiązane problemy