簡體   English   中英

正則表達式匹配Java中的回車符

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM