Devo sostituire tutti i caratteri che non corrispondono a gamma a-zA-Z_-0-9
. Così faccio val.replace(/[^a-zA-Z_-0-9]/g, '')
ma ottengo errore. Come posso morderlo? Grazieval.replace (/ [^ a-zA-Z_-0-9]/g, '') produce SyntaxError: intervallo non valido nella classe di caratteri
risposta
Se si desidera includere il segno meno "-" nella classe di caratteri, bisogna metterlo in alla fine della gamma:
val.replace(/[^a-zA-Z_0-9-]/g, '')
Si dispone di un intervallo errato, rimuovere il -
tra _
e l'intervallo di numeri e metterlo alla fine o all'inizio.
si prevede che -
personaggio da interpretare come letterale, ma è in realtà analizzato come un intervallo: _-0
significa _
-0
, proprio come a-z
significa a
a z
. Tuttavia, poiché _
ha un codice di carattere più alto di 0
, si verifica un errore.
Nel tuo caso, basta scappare: \-
. Questo viene analizzato come il carattere -
.
provare questo:
val.replace(/[^a-zA-Z_0-9-]/g, '');
avrei preferire questo regex:
val.replace(/[^\w-]+/gi, "");
Hai bisogno di fuggire il "-"
val.replace(/[^a-zA-Z_\-0-9]/g, '')
Non solo, viene trattato come un letterale '-' ovunque non possa formare un intervallo, ad es. accanto a una classe di caratteri abbreviata come in [A-Z- \ s- \ d] '. –
$(this).val($(this).val().replace(/[^a-zA-Z_0-9-]/g, ''));
Si prega di modificare con ulteriori informazioni. Le risposte solo per codice e "prova questo" sono scoraggiate, perché non contengono contenuti ricercabili e non spiegano perché qualcuno dovrebbe "provare questo". – Paritosh
- 1. SyntaxError: token non valido in datetime.datetime (2012,05,22,09,03,41)?
- 2. sed "Fine intervallo non valido"
- 3. L'espressione regolare JavaScript non è valida nella classe di caratteri
- 4. IntelliJ IDEA classe di caratteri regex non può essere utilizzato all'interno di intervallo di caratteri
- 5. iconv UTF-8 // IGNORE produce ancora l'errore "carattere non valido"
- 6. Intervallo valido di rowid SQLite?
- 7. SyntaxError: etichetta non valido durante il recupero JSON oggetto
- 8. Come specificare un intervallo di caratteri Unicode
- 9. Java Regex: caratteri di escape illegali nella classe di caratteri
- 10. Aggiornamento non valido: numero di righe non valido nella sezione
- 11. SyntaxError di carattere non-ASCII
- 12. Caratteri non ammessi nella risposta JSON
- 13. Uso non valido di "this" nella funzione non membro
- 14. L'esecuzione di "top" nella filettatura produce SIGTTOU
- 15. Pattern: come sottrarre il carattere abbinato nella classe di caratteri?
- 16. Gulp Uglify che produce strani caratteri dalla libreria Paper.js
- 17. Rileva pseudo classe: non valido da javascript
- 18. Tipo non valido nella scrittura JSON (NSConcreteData)?
- 19. JavaScript (Gruppo non valido)
- 20. Doctrine2 - "classe" non è un'entità valido o mappato super classe
- 21. RoR classe di caratteri regex
- 22. beni rake: precompilare> Sass :: SyntaxError: non valido CSS dopo "}": previsto "}", è stato ""
- 23. nome di attività non è un nome di classe valido
- 24. Ruby Regexp Interpolazione/Classe caratteri/Clima di sintassi variabile globale?
- 25. Esci dalla barra in avanti nella classe di caratteri jscript regexp?
- 26. MinGW non produce avvisi
- 27. Estrai intervallo di elementi dal char array nella stringa
- 28. perché setName nella classe Thread assegna a un array di caratteri? Perché non una stringa?
- 29. org.springframework.beans.NotWritablePropertyException: proprietà 'adminEmails' non valido di classe bean
- 30. Il valore dell'attributo di classe useBean ... non è valido
Barra rovesciata sfuggire caratteri all'interno di una lista di staffa non è consentita dallo standard POSIX regex, quindi sarei diffidare di usarlo. –
@SimonRichter: il sapore regex JavaScript deriva da Perl, non da POSIX. L'escaping backslash funziona bene (ma spostare il trattino alla fine è più ordinato). –