Solo una stringa. Aggiungi \ 'ad esso ogni volta che c'è una singola citazione.Come aggiungere barre su una stringa in Javascript?
risposta
replace
opere per la prima citazione, quindi è necessario un piccolo espressione regolare:
str = str.replace(/'/g, "\\'");
Questo non è corretto perché è necessario sfuggire alle barre. –
@AlexeyLebedev - Il secondo argomento non è un modello regex: è necessario solo un backslash nella stringa. – Kobi
vediamo: str = "\\ '"; str = str.replace (/ '/ g, "\\'"); –
var myNewString = myOldString.replace(/'/g, "\\'");
var str = "This is a single quote: ' and so is this: '";
console.log(str);
var replaced = str.replace(/'/g, "\\'");
console.log(replaced);
ti dà:
This is a single quote: ' and so is this: '
This is a single quote: \' and so is this: \'
A dire il vero, è necessario non sostituire solo le virgolette singole, ma anche quelle già sfuggite:
"first ' and \' second".replace(/'|\\'/g, "\\'")
Una risposta che non hai chiesto potrebbe essere utile, se stai facendo la sostituzione in preparazione dell'invio della stringa in alert() - o qualsiasi altra cosa in cui un singolo carattere di citazione potrebbe farti inciampare .
str.replace("'",'\x27')
che andrà a sostituire tutte le virgolette singole con il codice esadecimale per singola preventivo.
Queste stringhe sono identiche. A meno che non intendessi "\\ x27". –
seguente funzione JavaScript maniglie',", \ b, \ t, \ n, \ f o \ r equivalente di addslashes funzione PHP().
function addslashes(string) {
return string.replace(/\\/g, '\\\\').
replace(/\u0008/g, '\\b').
replace(/\t/g, '\\t').
replace(/\n/g, '\\n').
replace(/\f/g, '\\f').
replace(/\r/g, '\\r').
replace(/'/g, '\\\'').
replace(/"/g, '\\"');
}
Questa funzione farà l'opposto, spero che questo messaggio possa essere inserito qui ... yikes .. String.prototype.stripSlashes = function() { return this.replace (/\\(.)/ mg, "$ 1"); } –
Una stringa può essere sfuggito in modo completo e compatto con JSON.stringify. Fa parte di JavaScript come di ECMAScript 5 e sostenuto da importanti versioni più recenti del browser.
str = JSON.stringify(String(str));
str = str.substring(1, str.length-1);
Usando questo approccio, anche caratteri speciali come il byte null, i caratteri Unicode e interruzioni di riga e \r
\n
sono escaping correttamente in una dichiarazione relativamente compatta.
Supportato da tutti i browser con una quota di utilizzo globale superiore allo 0,1%, anche se la versione 8 di IE deve essere in modalità standard. – thelem
if (!String.prototype.hasOwnProperty('addSlashes')) {
String.prototype.addSlashes = function() {
return this.replace(/&/g, '&') /* This MUST be the 1st replacement. */
.replace(/'/g, ''') /* The 4 other predefined entities, required. */
.replace(/"/g, '"')
.replace(/\\/g, '\\\\')
.replace(/</g, '<')
.replace(/>/g, '>').replace(/\u0000/g, '\\0');
}
}
Uso: avviso (str.addSlashes());
- 1. Rimuovi tutte le barre in Javascript
- 2. Avvertenze Codifica di una stringa C# su una stringa Javascript
- 3. come rimuovere "," da una stringa in javascript
- 4. Come aggiungere barre di scorrimento a griglia
- 5. Come convalidare un codice a barre EAN/GTIN in JavaScript
- 6. Come posso aggiungere una stringa formattata a una stringa esistente?
- 7. Come creare una stringa JSON in JavaScript?
- 8. come dividere una stringa in JavaScript
- 9. Come aggiungere una stringa al selettore jQuery?
- 10. Ruby: come rimuovere le barre retroverse finali da una stringa?
- 11. Come forzare un'interruzione di riga su una stringa concatenata Javascript?
- 12. Come generare codice a barre da una stringa usando C#?
- 13. Come "instanceof" una stringa primitivo (stringa letterale) in JavaScript
- 14. @ Html.ActionLink come aggiungere una stringa di query
- 15. Come trasformare una stringa in una chiamata di funzione JavaScript?
- 16. come aggiungere concatenate NSString multiplo in una stringa in iphone
- 17. JavaScript: Aggiungere elementi in TextNode
- 18. Come creare una stringa javascript nel rasoio
- 19. Come aggiungere percentuali in cima alle barre di Seaborn?
- 20. Come sostituire globalmente una barra in una stringa JavaScript?
- 21. Espressione regolare Javascript - stringa su oggetto RegEx
- 22. Aggiungere a una funzione javascript
- 23. Come aggiungere meta tag in javascript
- 24. Come aggiungere una stringa Xml esistente in XElement
- 25. Come aggiungere virgolette in una stringa letterale di codice
- 26. Come aggiungere un numero X di spazi in una stringa
- 27. Come aggiungere una stringa URL in un oggetto JSON
- 28. Come concatenare/aggiungere una stringa ad un'altra in Jekyll/Liquid?
- 29. Javascript: analizza una stringa in data come fuso orario LOCAL
- 30. Come si spezza una stringa su più di una riga di codice in JavaScript?
Questo meglio non essere per la prevenzione SQL injection, perché un attaccante facilmente può aggirare questo. Il codice exploit non deve eseguire javascript, invierà semplicemente la richiesta. L'input di escape e disinfezione dovrebbe sempre essere eseguito sul lato server. – rook
Oppure, potresti semplicemente voler risparmiare un po 'di PHP e farlo sul lato client come la domanda specifica. – tim
Quello che Rook dice è che * non dovresti * salvarti un po 'di PHP e farlo sul lato client, perché un utente malintenzionato può facilmente aggirare qualsiasi codice lato client. –