无法在从 html 个实体创建的换行符上拆分文本区域
Cannot split textarea on newline created from html entities
我有一个文本区域需要一个包括新行的默认值,所以我使用了采用 HTML 从 this answer
中找到的实体的技术
<textarea rows=4 id="mytextarea">John,2 Jane,3 John,4 Jane,5</textarea>
然后我有一个按钮,用于启动一个用于解析文本区域的按钮,我想要完成的第一件事是从文本区域值创建一个 rows
数组,但这是我遇到问题的地方。 another answer 详细介绍了哪些浏览器将换行符表示为 \r\n,哪些浏览器仅表示为 \n,尽管在我的情况下这可能不是绝对必要的,但我仍然决定尝试一下:
var textAreaValue = document.getElementById("mytextarea").value;
textAreaValue = textAreaValue.replace(/\s/g, ""); //remove white space
var rows = textAreaValue.replace(/\r\n/g, "\n").split("\n");
然而 rows
又回来了 ["John,2Jane,3John,4Jane,5"]
。所以拆分没有效果;我做错了什么?
你没有使用\n
和\r
,所以你可以拆分
或
。
var rows = textAreaValue.replace(/(&#[13|10];)+/g, "\n").split("\n");
正则表达式中的 \s 正在删除换行符。尝试注释掉该替换并再次检查您的行值,然后它应该如您所愿!
function parseText() {
var textAreaValue = document.getElementById("mytextarea").value;
//textAreaValue = textAreaValue.replace(/\s/g, ""); //remove white space
var rows = textAreaValue.replace(/\r\n/g, "\n").split("\n");
alert(rows);
}
在此处查看 JSFiddle:http://jsfiddle.net/xs2619cn/1/
我将您的逗号更改为句号只是为了让警报输出更清晰。
我有一个文本区域需要一个包括新行的默认值,所以我使用了采用 HTML 从 this answer
中找到的实体的技术<textarea rows=4 id="mytextarea">John,2 Jane,3 John,4 Jane,5</textarea>
然后我有一个按钮,用于启动一个用于解析文本区域的按钮,我想要完成的第一件事是从文本区域值创建一个 rows
数组,但这是我遇到问题的地方。 another answer 详细介绍了哪些浏览器将换行符表示为 \r\n,哪些浏览器仅表示为 \n,尽管在我的情况下这可能不是绝对必要的,但我仍然决定尝试一下:
var textAreaValue = document.getElementById("mytextarea").value;
textAreaValue = textAreaValue.replace(/\s/g, ""); //remove white space
var rows = textAreaValue.replace(/\r\n/g, "\n").split("\n");
然而 rows
又回来了 ["John,2Jane,3John,4Jane,5"]
。所以拆分没有效果;我做错了什么?
你没有使用\n
和\r
,所以你可以拆分
或
。
var rows = textAreaValue.replace(/(&#[13|10];)+/g, "\n").split("\n");
正则表达式中的 \s 正在删除换行符。尝试注释掉该替换并再次检查您的行值,然后它应该如您所愿!
function parseText() {
var textAreaValue = document.getElementById("mytextarea").value;
//textAreaValue = textAreaValue.replace(/\s/g, ""); //remove white space
var rows = textAreaValue.replace(/\r\n/g, "\n").split("\n");
alert(rows);
}
在此处查看 JSFiddle:http://jsfiddle.net/xs2619cn/1/
我将您的逗号更改为句号只是为了让警报输出更清晰。