2012-05-09 82 views
1

所以,獲得來自希伯來文本字符在asp.net

我已經在我的網站上,這是寫在C#asp.net有一個文本框4.

<td> 
    <asp:TextBox ID="UserName" runat="server" CssClass="textEntry" Width="265px" 
    placeholder="שם משתמש" ontextchanged="UserName_TextChanged"></asp:TextBox> 
</td> 

的問題是,當有人試圖把希伯來文輸入,它讓他這樣做。

我怎麼知道他試圖寫的輸入是希伯來文,不要讓他?就像在javascript中給他看警告,或者不要讓他一樣。

任何人都可以幫我一把嗎?

謝謝!

回答

1

我相信這是你在找什麼:

function UserName_TextChanged(which) { 
    if (/[^a-zA-Z]/gi.test(which.value)) { 
     alert ("Only alpha characters are valid in this field"); // no spaces, full stops or anything but A-Z 
     which.value = ""; 
     which.focus(); 
     return false; 
    } 
} 

我沒有希伯來語我的機器上,但我相信它會阻止這些字符以及

調用此方法像所以:

ontextchanged="UserName_TextChanged(this)" 

的代碼說明:

function UserName_TextChanged(which) { 

「which」變量是您正在驗證的控件。請注意,當你調用函數,傳遞「這個」,寬鬆地翻譯爲「這個對象」

if (/[^a-zA-Z]/gi.test(which.value)) { 

這個測試對你

alert ("Only alpha characters are valid in this field"); 

如果傳遞的控制值的正則表達式模式匹配的模式,您可以提醒他們進入無效字符

which.value = ""; 

這裏你刪除的控件文本的用戶(這意味着有比其他AZ字符)。您可能不想這樣做,這取決於您的需求。

which.focus(); 

在這裏,您將光標放回到您正在驗證的控件中。

return false; 

這是用於您在提交表單前調用此驗證的情況。通過返回false,您可以取消提交表單。

+0

我不明白如何使用這個,你能幫忙嗎? –

+0

is this javascript? –

+0

是的,它是JavaScript。我可以問你有多少JavaScript的經驗? –

3

我認爲你需要這種類型的解決方案TextBox only write String Character

How to allow only numbers (or letters) in a text box with JavaScript。例如

function ynOnly(evt) { 
     evt = (evt) ? evt : event; 
     var charCode = (evt.charCode) ? evt.charCode : ((evt.keyCode) ? evt.keyCode : 
      ((evt.which) ? evt.which : 0)); 
     if (charCode > 31 && charCode != 78 && charCode != 89 && 
      charCode != 110 && charCode != 121) { 
      alert("Enter "Y" or "N" only."); 
      return false; 
     } 
     return true; 
    } 

在這種情況下,你可以通過限制文本框爲一個字符添加防止不正確輸入一些更多的保護:

Signature Present: <input type="text" name="signature" size="2" maxlength="1" 
    onkeypress="return ynOnly(event)" /> (Y/N) 

您可以根據您的要求修改這個代碼。

+0

不,它不是我正在尋找的。 –

+2

那麼你在找什麼呢?果醬的示例顯示瞭如何在鍵盤輸入過程中阻止字符,這似乎回答了您當前的問題。請考慮編輯你的問題,詳細說明你是否正在尋找。 –

0

這裏有很多Stackoverflow的答案。使用搜索。 「希伯來語輸入驗證」。