簡體   English   中英

檢查是否使用 javascript 在 textarea 中輸入了任何 html 標簽

[英]check whether any html tags entered in textarea using javascript

我有一個簡單的評論系統,我希望用戶不應該輸入任何 html 特殊字符,如果他們這樣做,他們應該發出“不允許 html 標簽”的警報。 怎么做?

提交時,將 ajax 調用傳遞到另一個頁面以將其存儲在 db 中。

所以在javascript本身(在ajax調用之前),如何在輸入的評論中找到任何html標簽。

任何建議。

要檢查您可以在 DOM 中創建一個元素,將注釋注入其中並使用[element].getElementsByTagName('*')來檢查任何 html 元素。 如果它的length不為0,說明注釋中有html元素。 就像是:

 document.querySelector('#check').addEventListener('click', doCheck); function doCheck(e) { var chkEl = document.createElement('div'), isok, report, value = document.querySelector('#testing').value; if (!value.length) {return true;} chkEl.innerHTML = value; report = document.querySelector('[data-report]'); isok = !chkEl.getElementsByTagName('*').length; report.setAttribute( 'data-report', !isok ? 'you can\'t enter html here!' : 'text looks ok' ); report.style.color = isok ? 'green' : 'red'; }
 [data-report]:before { content: attr(data-report); }
 <textarea id="testing" placeholder="type some stuff"></textarea> <span data-report=""></span> <br> <button id="check">check for html</button>

免責聲明:您也應該始終檢查服務器端。

您可以將以下語句與正則表達式一起使用:

if (/<[a-z][\s\S]*>/i.test(textareaContent)) {
  alert("html tags not allowed");
}

Kooilnc 是對的。 您還應該始終檢查服務器端的用戶輸入。

請看這個問題檢查字符串是否為html

刪除評論中的html標簽

function sanitizeString(str) {
    str = str.replace(/[^a-z0-9áéíóúñü \.,_-]/gim, " ");    
    return str.trim();
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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