2012-07-17 97 views
0

我已經應用了文本框點擊驗證,並希望避免在文本框中的任何HTML標記也簡單<(打開標記)和>(關閉標記)。下面的代碼工作,但我想添加額外的驗證,也爲空字符串和其他標籤在HTML中。有人可以幫助修改正則表達式的要求。正則表達式,以避免HTML標記和空值

function htmlValidation() 
{ 
    var re = /(<([^>]+)>)/gi; 

    if (document.getElementById(’<%=TextBox2.ClientID%>’).value.match(re)){ document.getElementById(’<%=TextBox2.ClientID%>’).value = 「」; 
      return false; 
     } 
    return true; 
} 

更正後的代碼上面

+0

我不完全明白你的要求是什麼。你是否想要允許特定的標籤,或者你想要什麼樣的行爲? – amon 2012-07-17 10:13:26

+0

我想排除文本框中的任何html標記...也不應該允許「<" and ">」 – Pratik 2012-07-17 10:19:34

+0

爲什麼不['^ <>] +',並檢查它是否不符合此模式。排除'<>'也將排除任何HTML標記。 – RoadBump 2012-07-17 10:19:40

回答

0
$("#<%= btnAdd.ClientID %>").click(function() { 
      var txt = $("#<%= txtBox1.ClientID %>"); 
      var svc = $(txt).val(); //Its Let you know the textbox's value 
      var re = /(<([^>]+)>)/gi; 
      if(txt.val()!=""){ 
      if (!txt.val().match(re)) { 
       //my Operations 
       //goes here 
       }); 
       return false; 
      } 
      else { 
       alert("Invalid Content"); 
      } 
      } 
      else { 
      alert("Blank value selected"); 
      } 

我已經使用jQuery函數來檢查正規表示法。這個問題是一個鏈接的問題與 Using Jquery to add items in Listbox from Textbox

現在我可以標記這是我的最終答案。

3

在我看來,我相信你就會有一個好辛苦,如果你想驗證這樣的事情。

除了防止在文本框中的HTML內容,其他解決方案可能只是HTML實體編碼文本屬性,所以<p>a</p>將被轉換爲&gt;p&lt;a&gt;p&lt;

這樣做的結果是您將呈現HTML「作爲文本」而不​​是通過Web瀏覽器來解釋它。

檢查這個MSDN文章:

+0

我驗證客戶端的用戶輸入,並且存在需要考慮不允許使用html標記的問題,因爲它會掛起其他進程。所以我即時通訊只尋求解決一個點擊事件。如果我得到一些答案將definelty發佈在這裏 – Pratik 2012-07-17 12:36:36

+0

@PratikGupta但是,如果你這樣做,你的過程將按預期工作,因爲你不會有HTML! – 2012-07-17 12:41:13

+0

有很多地方,我特別不希望任何特殊的操作員,因爲這會給處理的計算賦予不同的含義,因此我想在前端而不是在服務器端過濾這些東西。 – Pratik 2012-07-18 15:50:02