首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在输入文本Javascript的更改事件中需要删除换行符

在输入文本Javascript的更改事件中需要删除换行符
EN

Stack Overflow用户
提问于 2020-10-13 01:26:59
回答 4查看 263关注 0票数 1

我要删除换行符,如\r\n、\t、\n和其他特殊字符

代码语言:javascript
代码运行次数:0
运行
复制
<button onclick="myFunction()">Try it</button>

<p id="demo"></p>
<input type="text" id="ctext" onchange="myFunction();"/>


<script>
function myFunction() {
  var str = document.getElementById("ctext").value.toString();
  var result = str.replace("\n", "");
  result = result.replace(/[^a-zA-Z0-9]/g,'').replace(/__/g,'').replace(/\\/g, "");
  document.getElementById("demo").innerHTML = result;
  document.getElementById("ctext").value = result;
  return false;
}
</script>

实际上,当我们在文本框中输入文本并且onchange事件发生时,我想删除换行符,例如从'\n‘到'','\r\n’到'','\t‘到'’。但不幸的是,它给出的输出为'\n‘中的n,'\r\n’中的rn。我的意思是,它只删除反斜杠,而不是完整的换行符。

我希望从输入文本中获取的字符串可以从特殊字符转义,如'\n','\r\n','\t‘等换行字符。也就是说,如果我们从输入文本框中输入这个字符串"sdfjn\nkl454\r\n\t__._“。然后,在更改时,它应该类似于sdfjnkl454。但它显示的是sdfjnnk454rnt。

EN

回答 4

Stack Overflow用户

发布于 2020-10-13 01:34:05

这是因为在javascript中,\是一个转义字符,因此"\n"n"相同。

您可以尝试使用此正则表达式来替换这些代码:

代码语言:javascript
代码运行次数:0
运行
复制
const string = `I have whitespaces and new line chars
that are
replaced. Same with  tabs`
const replacedString = string.replace(/[\n\s\r\t]*/g, "")
console.log(replacedString);

票数 2
EN

Stack Overflow用户

发布于 2020-10-13 01:52:39

代码中的var result = str.replace("\n", "");行仅替换\n的第一个匹配项。

为了删除所有出现的\n\r\treplace方法的第一个参数中使用正则表达式,如下所示:

var result = str.replace(/\n|\r|\t/g, "");

上面的语句指出,如果您找到任何\n\r\t,则只需将其替换为"“。

此外,如果您还需要删除所有下划线,则只需将上面的语句更新为:

var result = str.replace(/\n|\r|\t|_/g, "");

票数 1
EN

Stack Overflow用户

发布于 2020-10-13 02:00:51

如果要替换"\n“、"\r”、"\t“,则应使用str.replace(/\\n|\\r|\\t/g, "")

代码语言:javascript
代码运行次数:0
运行
复制
function myFunction() {
  var str = document.getElementById("ctext").value.toString();
  var result =  str.replace(/\\n|\\r|\\t/g, "");
  result = result.replace(/[^a-zA-Z0-9]/g,'').replace(/__/g,'').replace(/\\/g, "");
  result = result.replace(/[^a-zA-Z0-9]/g,'');
  document.getElementById("demo").innerHTML = result;
  document.getElementById("ctext").value = result;
  return false;
}
代码语言:javascript
代码运行次数:0
运行
复制
<button onclick="myFunction()">Try it</button>

<p id="demo"></p>
<input type="text" id="ctext" onchange="myFunction();"/>

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64322577

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档