日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

有時,開發人員需要通過 JavaScript 管理 HTML。例如,開發人員需要通過在 JavaScript 中訪問某些 HTML 節點來將它們附加到特定的 HTML 元素。

因此,在使用 JavaScript 將 HTML 字符串附加到任何 HTML 元素之前,我們需要評估要附加的字符串并檢查它是否有效。

如果我們附加具有開始選項卡但不包含結束標記的 HTML 字符串,則可能會在網頁中生成錯誤。因此,我們將學習使用 JavaScript 驗證 HTML 字符串的不同方法。

使用正則表達式驗證 HTML 字符串

程序員可以使用正則表達式來創建字符串的搜索模式。我們可以通過遵循完美匹配每個 HTML 字符串的規則來創建正則表達式模式。

之后,我們可以使用正則表達式的test()方法,該方法返回作為參數傳遞的字符串與正則表達式的匹配結果。

語法

用戶可以按照下面的語法將正則表達式與 HTML 字符串進行匹配。

let regexForHTML = /<([A-Za-z][A-Za-z0-9]*)\b[^>]*>(.*?)<\/\1>/;
let isValid = regexForHTML.test(string);

登錄后復制

在上面的語法中,我們將字符串作為 test() 方法參數傳遞,該參數需要與 regexForHTML 正則表達式匹配。

正則表達式解釋

這里,我們已經解釋了正則表達式,我們用它來匹配 HTML 字符串

正則表達式分為三部分。

    ]*> – 這是常規的第一部分表達式,它與 HTML 字符串的開始標記相匹配。它建議開始標簽應包含“”。

    (.*?) – 它是正則表達式的第二部分,表明打開標簽后字符串應至少包含一個字符。

    – 這是正則表達式的第三部分,表示 HTML 字符串應包含 ‘”。

    示例

    在下面的示例中,我們創建了兩個不同的字符串。 string1 是有效的 HTML 字符串,string2 是無效的字符串。

    我們創建了 validateHTMLString() 函數,該函數使用 test() 方法將字符串與正則表達式進行匹配。

    <html>
    <body>
       <h3>Using the <i>regular expression</i> to validate the HTML string.</h2>
       <div id = "output"> </div>
       <script>
          let Output = document.getElementById("output");
          
          // Creating the regular expression
          let regexForHTML = /<([A-Za-z][A-Za-z0-9]*)\b[^>]*>(.*?)<\/\1>/;
          let string1 = "<b> Hello users! </b>";
          let string2 = "<Hi there!>";
          function validateHTMLString(string) {
             
             // check if the regular expression matches the string
             let isValid = regexForHTML.test(string);
             if (isValid) {
                Output.innerHTML += "The " + string + " is a valid HTML stirng <br/>";
             }else{
                Output.innerHTML += "The " + string + " is not a valid HTML stirng <br/>";
             }
          }
          validateHTMLString(string1);
          validateHTMLString(string2);
       </script>
    </body>
    </html>
    

    登錄后復制

    使用 HTML 元素的 nodeType 屬性

    我們可以創建一個虛擬 HTML 元素,并使用該元素的 innnerHTML 屬性附加一個字符串作為該元素的內部 HTML。之后,我們可以使用每個子節點的nodeType屬性來檢查它是否是HTML元素的類型。

    對于任何 HTML 元素,其 nodeType 屬性值都等于 1。

    語法

    用戶可以按照以下語法使用 HTML 元素的 nodeType 屬性來驗證 HTML 字符串。

    var element = document.createElement("p");
    element.innerHTML = string;
    var childNodes = element.childNodes;
    for (var i = 0; i < childNodes.length; i++) {
       if (childNodes[i].nodeType != 1) {
          
          // string is not valid
          return;
       }
       if (childNodes[i].nodeType == 1 && i == childNodes.length - 1) {
          
          // string is valid
          return;
       } 
    }
    // string is not valid 

    登錄后復制

    在上面的語法中,我們檢查每個子節點的節點類型,以驗證該字符串僅包含 HTML 節點。

    步驟

    用戶可以按照以下步驟來實現上述語法。

    第 1 步 – 創建一個虛擬 HTML 元素。它可以是 div、p 或任何其他將字符串存儲為 HTML 的元素。

    第2步 – 使用虛擬元素的innerHTML屬性,并將字符串作為HTML存儲到其中。

    步驟 3 – 使用 childNodes 屬性獲取虛擬元素的所有子節點。

    步驟 4 – 使用 for 循環迭代虛擬元素的每個子節點。

    第5步 – 在for循環中,檢查每個子元素的節點類型,如果不等于1,則表示該字符串不是有效的HTML字符串,并返回任何從那里終止函數的值。

    Step 6 – 如果迭代所有子節點時到達最后一個子節點,并且最后一個子節點也有效,則意味著 HTML 字符串有效并返回任意值以終止函數。

    示例

    在下面的示例中,我們創建了 validateHTMLString() 函數,該函數實現上述步驟來驗證 HTML 字符串。

    <html>
    <body>
       <h3>Using the <i> node Type property </i> to validate the HTML string.</h3>
       <div id = "output"> </div>
       <script>
          let output = document.getElementById("output");
          let string1 = "<b> This is an valid HTML! </b>";
          let string2 = "<Hi there!";
          function validateHTMLString(string) {
             var element = document.createElement("p");
             element.innerHTML = string;
             var childNodes = element.childNodes;
             for (var i = 0; i < childNodes.length; i++) {
                if (childNodes[i].nodeType != 1) {
                   output.innerHTML += "The string is not valid HTML string! <br/>";
                   return;
                }
                if (childNodes[i].nodeType == 1 && i == childNodes.length - 1) {
                   output.innerHTML += "The " + string + " is a valid HTML string! <br/>";
                   return;
                }
             }
             output.innerHTML += "The string is not valid HTML string! <br/>";
          }
          validateHTMLString(string1);
          validateHTMLString(string2);
       </script>
    </body>
    </html>
    

    登錄后復制

    用戶學習了三種不同的方法來檢查 HTML 字符串是否有效。最好的方法是使用正則表達式,它允許我們通過編寫一行代碼來驗證 HTML 字符串。

    以上就是如何使用 JavaScript 檢查字符串是否為 html?的詳細內容,更多請關注www.92cms.cn其它相關文章!

分享到:
標簽:html javascript 如何使用 字符串 檢查
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定