从asp.net的文本框中获取希伯来字符

时间:2012-05-09 17:48:45

标签: c# 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中向他显示​​警告一样,或者只是不要让他。

任何人都可以帮我一把?

谢谢!

3 个答案:

答案 0 :(得分: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)

您可以根据自己的要求更改此代码。

答案 1 :(得分: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) {

&#34;&#34;&#34;变量是您要验证的控件。请注意,当你调用该函数时,你会传递&#34;这个&#34;,它松散地转换为&#34;这个对象&#34;

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

这将根据您传入的控件的值测试正则表达式模式

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

如果模式匹配(意味着存在除a-z之外的字符),则表示您正在警告用户他们输入了无效字符

which.value = "";

在这里,您正在删除控件的文本。您可能不希望这样做,具体取决于您的需求。

which.focus();

在这里,您将光标放回要验证的控件中。

return false;

如果您在提交表单之前调用此验证,则使用此方法。通过返回false,您可以取消提交表单。

答案 2 :(得分:0)

这有很多Stackoverflow答案。使用搜索。 “希伯来语输入验证”。