¿Es \n
la secuencia universal de caracteres de nueva línea en Javascript para todas las plataformas? Si no, ¿cómo determino el carácter para el entorno actual?
No estoy preguntando sobre el elemento HTML de nueva línea ( <BR/>
). Estoy preguntando sobre la secuencia de caracteres de nueva línea utilizada en las cadenas de JavaScript.
javascript
newline
Landon Kuhn
fuente
fuente
getValue
función que tomavalue
y devuelvevalue.replace(/\r\n/g,'\n')
, solo para mantener la salida consistente en navegadores / plataformas.Respuestas:
Acabo de probar algunos navegadores con este poco tonto de JavaScript:
Uso de IE8 y Opera 9 en Windows
\r\n
. Todos los otros navegadores que probé (Safari 4 y Firefox 3.5 en Windows, y Firefox 3.0 en Linux) usan\n
. Todos pueden manejar\n
bien al establecer el valor, aunque IE y Opera lo volverán a convertir\r\n
internamente. Hay un artículo de SitePoint con algunos detalles más llamados Terminaciones de línea en Javascript .Tenga en cuenta también que esto es independiente de las terminaciones de línea reales en el archivo HTML en sí (ambos
\n
y\r\n
dan los mismos resultados).Al enviar un formulario, todos los navegadores pueden canonizar nuevas líneas
%0D%0A
en la codificación de URL. Para ver eso, cargue, por ejemplo,data:text/html,<form><textarea name="foo">foo%0abar</textarea><input type="submit"></form>
y presione el botón Enviar. (Algunos navegadores bloquean la carga de la página enviada, pero puede ver los valores de formulario codificados en URL en la consola).Sin embargo, no creo que realmente necesites determinar mucho. Si solo desea dividir el texto en líneas nuevas, puede hacer algo como esto:
fuente
\r\n
como dos líneas nuevas en lugar de una. Si quieres corto,/\r?\n/g
probablemente lo hará (¿quién todavía usa Mac OS 9 de todos modos?).Si, es universal.
Aunque
'\n'
son los caracteres de línea nueva universales , debe tener en cuenta que, dependiendo de su entrada, los caracteres de línea nueva pueden estar precedidos por caracteres de retorno de carro ('\r'
).fuente
No uses "\ n". Solo intenta esto:
¡Solo ingresa una barra diagonal inversa y sigue caminando! Funciona de maravilla.
fuente
tilde
carácter (también llamado backtick).~
Tilde vs`
Backtick .Puede ser más fácil manejar todos los casos del nuevo carácter de línea en lugar de verificar qué caso y luego aplicarlo. Por ejemplo, si necesita reemplazar la nueva línea, haga lo siguiente:
fuente
sí, use \ n, a menos que esté generando código html, en el que desea usar
<br />
fuente
Función de enlace de correo electrónico, uso "% 0D% 0A"
[HTML]
fuente
Obtenga un separador de línea para el navegador actual:
fuente
return textarea.value;
?JSON.stringify
del resultado cambiará el carácter? Si trato de ver el resultado en unaalert()
llamada, no me muestra el carácter, a menos que lo codifique primero (no es que el personaje deba ser legible por humanos para que sea efectivo, por supuesto)Una nota: cuando se usa ExtendScript JavaScript (el lenguaje de secuencias de comandos de Adobe utilizado en aplicaciones como Photoshop CS3 +), el carácter a usar es "\ r". "\ n" se interpretará como un carácter de fuente y, por lo tanto, muchas fuentes tendrán un carácter de bloque.
Por ejemplo (para seleccionar una capa llamada 'Nota' y agregar saltos de línea después de todos los períodos):
fuente
\n
y<br/>
no estaba trabajando en mi script de Photoshop ... ¡Gracias!Puede usar `` comillas (que están debajo del botón Esc) con ES6. Entonces puedes escribir algo como esto:
fuente
Creo que es así, cuando trabajas con cadenas JS.
Sin embargo, si está generando HTML, tendrá que usar
<br />
etiquetas (no\n
, ya que ya no está tratando con JS)fuente
Tuve el problema de expresar nueva línea con \ n o \ r \ n .
Mágicamente el carácter \ r que se utiliza para el retorno de carro trabajó para mí como una nueva línea.
Entonces, en algunos casos, también es útil considerar \ r.
fuente
Huellas dactilares:
fuente
Una observación práctica ... En mi script NodeJS tengo la siguiente función:
Primero solo tenía "\ n" pero noté que cuando abro el archivo de registro en el Bloc de notas, muestra todas las entradas en la misma línea. Notepad ++, por otro lado, muestra las entradas cada una en su propia línea. Después de cambiar el código a "\ r \ n", incluso el Bloc de notas muestra cada entrada en su propia línea.
fuente
El
\n
está bien para todos los casos que he encontrado. Si está trabajando con la web, úselo\n
y no se preocupe por ello (a menos que haya tenido problemas relacionados con la nueva línea).fuente
puedes usar
<br/>
y eldocument.write/
,document.writeln
uno.fuente
<br>