所以,

我的网站上有一个文本框,该文本框是用c#asp.net 4编写的。

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


问题是,当有人尝试输入希伯来语输入内容时,它会让他这样做。

我怎么知道他想写的输入是希伯来语,不要让他输入?就像用javascript向他显示警告一样,或者就是不要让他。

有人可以帮我吗?

谢谢!

最佳答案

我相信这是您要寻找的:

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) {


“哪个”变量是您要验证的控件。请注意,在调用该函数时,您传递了“ this”,它被松散地转换为“ this object”

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,您可以取消提交表单。

关于c# - 从asp.net的文本框中获取希伯来语字符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10521383/

10-10 07:10