La \n
séquence de caractères de nouvelle ligne universelle est-elle en Javascript pour toutes les plateformes? Sinon, comment puis-je déterminer le caractère de l'environnement actuel?
Je ne pose pas de question sur l'élément HTML newline ( <BR/>
). Je pose des questions sur la séquence de caractères de nouvelle ligne utilisée dans les chaînes JavaScript.
javascript
newline
Landon Kuhn
la source
la source
getValue
fonction qui prend levalue
et retournevalue.replace(/\r\n/g,'\n')
- juste pour garder la sortie cohérente sur tous les navigateurs / plates-formes.Réponses:
Je viens de tester quelques navigateurs en utilisant ce peu idiot de JavaScript:
IE8 et Opera 9 sous Windows
\r\n
. Tous les autres navigateurs que j'ai testés (Safari 4 et Firefox 3.5 sous Windows et Firefox 3.0 sous Linux) utilisent\n
. Ils peuvent tous très bien gérer\n
lors de la définition de la valeur, bien qu'IE et Opera le reconvertissent en\r\n
interne. Il y a un article SitePoint avec plus de détails appelé les fins de ligne en Javascript .Notez également que cela est indépendant des fins de ligne réelles dans le fichier HTML lui-même (les deux
\n
et\r\n
donnent les mêmes résultats).Lors de la soumission d'un formulaire, tous les navigateurs canonisent les sauts de ligne
%0D%0A
dans l'encodage URL. Pour voir cela, chargez par exempledata:text/html,<form><textarea name="foo">foo%0abar</textarea><input type="submit"></form>
et appuyez sur le bouton Soumettre. (Certains navigateurs bloquent la charge de la page envoyée, mais vous pouvez voir les valeurs des formulaires encodés par URL dans la console.)Je ne pense pas que vous ayez vraiment besoin de faire beaucoup de détermination, cependant. Si vous souhaitez simplement diviser le texte sur les nouvelles lignes, vous pouvez faire quelque chose comme ceci:
la source
\r\n
comme deux nouvelles lignes au lieu d'une. Si vous voulez faire court, le/\r?\n/g
fera probablement (qui utilise quand même Mac OS 9?).Oui, c'est universel.
Bien qu'il s'agisse
'\n'
des caractères de nouvelle ligne universels , vous devez garder à l'esprit que, selon votre saisie, les nouveaux caractères de ligne peuvent être précédés de caractères de retour chariot ('\r'
).la source
N'utilisez pas "\ n". Essayez ceci:
Entrez simplement dans une barre oblique inverse et continuez à rouler! Fonctionne comme un charme.
la source
tilde
caractère (autrement appelé backtick).~
Tilde vs`
Backtick .Il peut être plus simple de gérer uniquement toutes les casse du nouveau caractère de ligne au lieu de vérifier quel cas puis de l'appliquer. Par exemple, si vous devez remplacer la nouvelle ligne, procédez comme suit:
la source
oui utilisez \ n, sauf si vous générez du code html, dans lequel vous souhaitez utiliser
<br />
la source
Fonction de lien e-mail que j'utilise "% 0D% 0A"
[HTML]
la source
Obtenez un séparateur de ligne pour le navigateur actuel:
la source
return textarea.value;
?JSON.stringify
du résultat changera le personnage? Si j'essaie de voir le résultat dans unalert()
appel, il ne me montre pas le caractère à moins que je ne le strifie d'abord (pas que le caractère doit être lisible par l'homme pour être efficace, bien sûr)Remarque - lorsque vous utilisez ExtendScript JavaScript (le langage de script Adobe utilisé dans des applications comme Photoshop CS3 +), le caractère à utiliser est "\ r". "\ n" sera interprété comme un caractère de police, et de nombreuses polices auront donc un caractère de bloc à la place.
Par exemple (pour sélectionner une couche nommée 'Note' et ajouter des sauts de ligne après toutes les périodes):
la source
\n
et<br/>
ne fonctionnais pas dans mon script Photoshop ... Merci!Vous pouvez utiliser des `` guillemets (qui sont en dessous du bouton Echap) avec ES6. Vous pouvez donc écrire quelque chose comme ceci:
la source
Je pense que c'est le cas - lorsque vous travaillez avec des chaînes JS.
Si vous générez du HTML, cependant, vous devrez utiliser des
<br />
balises (non\n
, car vous ne traitez plus avec JS)la source
J'ai eu le problème d'exprimer la nouvelle ligne avec \ n ou \ r \ n .
Par magie, le caractère \ r utilisé pour le retour chariot fonctionne pour moi comme une nouvelle ligne.
Dans certains cas, il est donc utile de considérer également \ r.
la source
Tirages:
la source
Une observation pratique ... Dans mon script NodeJS j'ai la fonction suivante:
Au début, je n'avais que "\ n" mais j'ai remarqué que lorsque j'ouvre le fichier journal dans le Bloc-notes, il affiche toutes les entrées sur la même ligne. Notepad ++, d'autre part, affiche les entrées chacune sur leur propre ligne. Après avoir changé le code en "\ r \ n", même le Bloc-notes affiche chaque entrée sur sa propre ligne.
la source
C'est
\n
très bien pour tous les cas que j'ai rencontrés. Si vous travaillez avec le Web, utilisez-le\n
et ne vous en faites pas (sauf si vous avez eu des problèmes liés à la nouvelle ligne).la source
vous pouvez utiliser
<br/>
etdocument.write/
,document.writeln
un.la source
<br>