[英]Regex to match carriage return in Javascript
我正在尝试编写一些JavaScript来隐藏一些仅包含回车符的元素。 我知道解决此问题的正确方法是停止创建这些元素,但是不幸的是,在这种情况下这是不可能的。 我正在尝试使用正则表达式来搜索不需要的元素,但是运气不佳。 我写的函数如下:
function HideEmptyP()
{
var patt = (\\r)
for(var i = 0;i<desc[i].length;i++);
{
var desc[i] = document.getElementsByClassName('sitspagedesc');
var result[i] = patt.test(desc[i]);
if (result[i] == true)
{
desc[i].style.display='none';
}
else
{
alert("No Match!");
}
}
我在Web控制台中遇到的错误是“语法错误:非法字符”。
感谢有关如何解决此问题的任何想法。
提前致谢。
我正在尝试编写一些JavaScript来隐藏一些仅包含回车符的元素。
不需要正则表达式,只需将元素的innerHTML
属性与"\\\\r"
,例如:
if (demo[i].innerHTML === "\\r") {
// Remove it
}
但是请注意,某些浏览器可能会转换单个回车符。 您可能要检查"\\\\r"
, "\\\\n"
以及一个空格。 为此,您可能需要使用正则表达式。
您的正则表达式文字( (\\\\r)
)完全无效,值得阅读它们以学习正确的语法。 要使用JavaScript编写正则表达式文字,请使用/
作为分隔符。 因此: /\\\\r/
。 要测试字符串仅包含\\r
, \\n
或空格,可以使用/^[\\r\\n ]+$/
(这要求至少有一个匹配的字符,并使用^
表示开始-string和$
表示字符串结尾):
if (demo[i].innerHTML.match(/^[\r\n ]+$/) {
// Remove it
}
你的乱抛垃圾似乎很奇怪。
尝试var patt = /\\r/;
出现语法错误的原因是因为声明var patt =(\\ r)不正确,它应该像var patt ='\\ r'一样;
同样,整个for循环是错误的。
您应该先定义演示程序,然后再开始for循环(而不是在循环程序内部),其结果不必是数组,而只是普通变量
var patt=/\n/gi
应该管用。
额外的i标志表示不区分大小写。 g进行全局搜索。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.