所以,
我的网站上有一个用c# asp.net 4编写的文本框。
<td>
<asp:TextBox ID="UserName" runat="server" CssClass="textEntry" Width="265px"
placeholder="שם משתמש" ontextchanged="UserName_TextChanged"></asp:TextBox>
</td>问题是,当有人试图输入希伯来语时,它会让他这样做。
我怎么知道他试图写的输入是希伯来语而不让他写呢?就像用javascript向他显示警告一样,或者干脆不让他这么做。
有人能帮我一把吗?
谢谢!
发布于 2012-05-10 02:12:44
我相信这就是你要找的:
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,您可以取消表单的提交。
发布于 2012-05-10 01:54:29
我认为你需要这种类型的解决方案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)您可以根据自己的需求修改此代码。
发布于 2012-05-10 02:16:10
在这个问题上有很多Stackoverflow的答案。使用搜索。“希伯来语输入验证”。
https://stackoverflow.com/questions/10521383
复制相似问题