Является ли \n
универсальная последовательность символов новой строки в Javascript для всех платформ? Если нет, как мне определить характер для текущей среды?
Я не спрашиваю об элементе HTML newline ( <BR/>
). Я спрашиваю о последовательности символов новой строки, используемой в строках JavaScript.
javascript
newline
Лэндон Кун
источник
источник
getValue
функция, которая принимаетvalue
и возвращаетvalue.replace(/\r\n/g,'\n')
- только для обеспечения согласованности вывода в разных браузерах / платформах.Ответы:
Я только что протестировал несколько браузеров, использующих этот глупый кусочек JavaScript:
IE8 и Opera 9 на Windows используют
\r\n
. Все остальные протестированные мной браузеры (Safari 4 и Firefox 3.5 для Windows и Firefox 3.0 для Linux) используют\n
. Все они могут\n
прекрасно работать при установке значения, хотя IE и Opera будут преобразовывать его обратно во\r\n
внутреннее состояние. Есть статья SitePoint с некоторыми подробностями, называемая окончаниями строк в Javascript .Также обратите внимание, что это не зависит от фактических окончаний строк в самом файле HTML (оба
\n
и\r\n
дают одинаковые результаты).При отправке формы все браузеры канонизируют переводы строк
%0D%0A
в кодировку URL. Чтобы увидеть это, загрузите, например,data:text/html,<form><textarea name="foo">foo%0abar</textarea><input type="submit"></form>
и нажмите кнопку отправки. (Некоторые браузеры блокируют загрузку отправленной страницы, но вы можете увидеть значения формы в кодировке URL в консоли.)Я не думаю, что вам действительно нужно делать что-то определенное. Если вы просто хотите разделить текст на новые строки, вы можете сделать что-то вроде этого:
источник
\r\n
как два символа новой строки вместо одного. Если вы хотите короткую,/\r?\n/g
вероятно , подойдет (кто все еще использует Mac OS 9?).Да, это универсально.
Хотя
'\n'
это универсальные символы новой строки , вы должны иметь в виду, что, в зависимости от вашего ввода, символам новой строки может предшествовать символ возврата каретки ('\r'
).источник
Не используйте "\ n". Просто попробуйте это:
Просто введите обратную косую черту и продолжайте движение! Работает как шарм.
источник
tilde
символом (иначе называемый обратным трюком ).~
Tilde vs`
Backtick .Возможно, будет проще всего обработать все случаи символа новой строки вместо проверки, в каком случае применять его. Например, если вам нужно заменить символ новой строки, выполните следующие действия:
источник
да используйте \ n, если вы не генерируете HTML-код, в котором вы хотите использовать
<br />
источник
Функция ссылки электронной почты, которую я использую "% 0D% 0A"
[HTML]
источник
Получите разделитель строк для текущего браузера:
источник
return textarea.value;
?JSON.stringify
в результате изменить характер? Если я попытаюсь просмотреть результат вalert()
вызове, он не покажет мне символ, если я сначала неПримечание. При использовании ExtendScript JavaScript (язык сценариев Adobe, используемый в таких приложениях, как Photoshop CS3 +), символом, который нужно использовать, является «\ r». «\ n» будет интерпретироваться как символ шрифта, и поэтому многие шрифты будут иметь символ блока.
Например (чтобы выбрать слой с именем «Примечание» и добавить перевод строки после всех периодов):
источник
\n
и<br/>
не работал в моем скрипте Photoshop ... Спасибо!Вы можете использовать `` кавычки (которые находятся ниже кнопки Esc) с ES6. Таким образом, вы можете написать что-то вроде этого:
источник
Я считаю, что это - когда вы работаете со строками JS.
Однако, если вы генерируете HTML, вам придется использовать
<br />
теги (нет\n
, поскольку вы больше не имеете дело с JS)источник
У меня была проблема с выражением новой строки с \ n или \ r \ n .
Волшебно символ \ г , который используется для возврата каретки работал для меня , как символ новой строки.
Так что в некоторых случаях полезно рассмотреть \ r тоже.
источник
Печать:
источник
Практическое наблюдение ... В моем скрипте NodeJS у меня есть следующая функция:
Сначала у меня было только "\ n", но я заметил, что когда я открываю файл журнала в Блокноте, он показывает все записи в одной строке. Блокнот ++, с другой стороны, отображает записи в каждой строке. После изменения кода на «\ r \ n» даже Блокнот показывает каждую запись в отдельной строке.
источник
Это
\n
просто отлично для всех случаев, с которыми я столкнулся. Если вы работаете с сетью, используйте\n
и не беспокойтесь об этом (если только у вас не было проблем, связанных с переводом строки).источник
Вы можете использовать
<br/>
иdocument.write/
,document.writeln
один.источник
<br>