2010-06-14 48 views

回答

0

在腳本

function fnalpha() 
{ 
    if (event.keycode >= 65 && event.keycode <= 90 || 
     event.keycode >= 97 && event.keycode <= 122) event.returnValue = true; 
    else event.returnValue = false; 
} 

在文本框調用此方法onkeypress="return fnalpha()"

我想這樣的源...工作正常...

1

您可以使用TextBox.Validated事件並將其與RegEx的內容相匹配。
看一看here

0

使用JavaScript的match()方法和下面的正則表達式應該做的伎倆

^[a-zA-Z].* 

下面是如何實現上述

<script type="text/javascript"> 
    function validate() 
    { 
     var textBoxToValidate = document.getElementById('Text1'); 
     if(textBoxToValidate.value.match('^[a-zA-Z].*')) 
     { 
      alert('Is valid'); 
     } 
     else 
     { 
      alert('Is invalid'); 
     } 
    } 
</script> 

<input id="Text1" type="text" /> 
<input id="Button1" type="button" value="button" onclick="validate()" /> 
+0

ü可以瞭解匹配解釋()方法...我怎麼能實現這與匹配()...我不想使用serverside驗證程序 – Ramakrishna 2010-06-15 07:06:56

+0

我更新了答案與一個例子 – 2010-06-15 09:32:49

+0

爲了好的措施,我只是想ed指出RegularExpressionValidator也有客戶端驗證。由於javascript標記,我使用了匹配方法。 – 2010-06-15 09:47:37

4

匹配方法與正則表達式的一個簡短的例子。如果您正在做這個客戶端,你可以用下面的方式使用一個asp:RegularExpressionValidator控件。

<asp:TextBox ID="inputBox" runat="server" /><br /> 
<asp:RegularExpressionValidator 
    runat="server" 
    ControlToValidate="inputBox" 
    ValidationExpression="^[a-zA-Z].*" 
    ErrorMessage="Input must start with a letter" /> 

服務器端,您可以簡單地通過使用char.IsLetter檢查的第一個字符。

bool isValid = char.IsLetter(inputBox.Text[0]); 
+0

regularexpression驗證是在服務器端,但我只使用JavaScript驗證...然後如何從文本框中獲取該值是在asp.net窗體 – Ramakrishna 2010-06-15 07:02:49

+1

其實它是兩者都會生成JavaScript標記,如果客戶端禁用了JavaScript,它也會檢查服務器端。 – NibblyPig 2010-06-15 09:31:58

相關問題