[英]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.