2011-11-10 70 views

回答

0

,你可以添加一個RegularExpressionValidator,並設置ValidationExpression ='^ [^ \「] * $'限制報價輸入

1

我會用javascript做文本框onchange事件的實時驗證。然後,您可以使用上的string.contains()方法進行server-side驗證。

3

你使用AjaxControlToolkit嗎?如果是這樣,那就用這個。

<asp:TextBox runat="server" ID="TextBox1" Width="100px" /> 
<cc1:FilteredTextBoxExtender FilterMode="InvalidChars" ID="ftbe_TextBox1" runat="server" 
    TargetControlID="TextBox1" InvalidChars="&quot;'" /> 

其中:CC1是AjaxControlToolkit

如果不記名,做手工

<asp:TextBox runat="server" ID="TextBox1" Width="100px" onkeypress="return restrictQuotes(event);" /> 
<script type="text/javascript"> 
    function restrictQuotes(evt) { 
     var keyCode = evt.which ? evt.which : evt.keyCode; 
     return (keyCode != '"'.charCodeAt() && keyCode != "'".charCodeAt()); 
    } 
</script> 
0

您可以在javascript中做到這一點

<script type="text/javascript"> 
function fixit() { 
    var numberOfElements = document.theForm.elements.length; 
    for (x=0; x<numberOfElements; x++) { 
    // replace all the single, double quotes: 
    var curElement = window.document.theForm.elements[x]; 
    curElement.value = curElement.value.replace(/\'/g, "&#39;"); 
    curElement.value = curElement.value.replace(/\"/g, "&#34;"); 
    } 
    return true; 
} 
</script> 

然後在表格你會寫這個

<form name='theForm' onSubmit='return fixit()'... 

此代碼將週期的所有元素。如果您想驗證一個單一的元素,你可以防止用戶在文本框中書寫這些字符

你可以這樣做:

<input type="text" name="foo" onkeypress="return fix(event);"> 

在javascript中:

<script type="text/javascript"> 
function fix(e) 
{ 
    if(e.charCode == 34|| e.charCode == 39) 
    { 
    return false; 
    } 
    return true; 
} 
</script> 

最後一部分阻止用戶從寫報價和雙引號。