【发布时间】:2015-04-14 12:36:50
【问题描述】:
我正在执行字母数字验证,现在我正在这样做,用户只能输入字母数字值,并且仅在粘贴时允许字母数字值。所以我使用了下面的正则表达式
function OnlyAlphaNumeric(evt) {
var charCode = (evt.which) ? evt.which : event.keyCode;
if ((charCode > 32 && charCode < 48) || (charCode > 57 && charCode < 65) ||
(charCode > 90 && charCode < 97) || charCode > 122) {
return false;
}
else {
return true;
}
}
为了防止复制和粘贴,
function CPOnlyAlphaNumeric(evt) {
$(evt).val($(evt).val().replace(/[^A-Za-z0-9]/g, ' '))
}
这两个函数是从下面的 onkeypress 和 onkeyup 方法调用的,如下所示
@Html.TextBoxFor(model => model.ProductName, new { @class = "form-
control", @onkeypress = "return OnlyAlphaNumeric(this);", @onkeyup=
"return CPOnlyAlphaNumeric(this);" })
这适用于字母数字验证,但不允许光标向左移动以编辑文本。那么我应该在我的正则表达式中做些什么改变。
【问题讨论】:
标签: javascript jquery regex razor onkeyup