JQuery MVC - 接受字母和数字的蒙版文本框
本文关键字:数字 文本 MVC JQuery | 更新日期: 2023-09-27 18:32:07
所以,我有我的常规文本框,但我似乎找不到接受字母数字值的掩码。
.HTML:
<div class="form-group">
<div class="col-md-6">
<label class="control-label">Security code:</label>
@Html.TextBox("txtSecCode", null, new { @class = "form-control", maxlength = 20 })
</div>
</div>
Javascript:(顺便说一句,我正在使用razer引擎视图)
<script type="text/javascript">
$(function () {
$('#txtSecCode').keyup(function () {
// I used this to not let the user input any special characters.
if (this.value.match(/[^a-zA-Z0-9 ]/g)) {
this.value = this.value.replace(/[^a-zA-Z0-9 ]/g, '');
}
});
// The 'blur' function is used to auto-mask the field when it's not focused
$('#txtSecCode').blur(function () {
// So that's my mask, at first my field's maxlength was set to
// 16, but than some errors occured and then I realized that the
// dots(.) of the mask were the guilt for this.
$('#txtSecCode').mask('9999.9999.9999.9999');
});
});
</script>
无论如何,掩码应该接受这样的值:"98AC.981X.B8TZ.EW89"。如果有人知道允许我输入字母数字值的文本框字段掩码,请告诉我。
提前致谢:D
此正则表达式将仅匹配数字、字母和.
。
[a-zA-Z0-9.]
就您的一般方法而言,我认为您可以通过进行HTML5验证更简洁地完成同样的事情。 使用 pattern
属性,您可以直接在输入元素上指定正则表达式,如下所示:
<input required pattern="[a-zA-Z0-9.]+">
我看到您正在使用剃须刀中的 MVC 助手来创建您的元素......我相信您可以将第 4 行更改为此并取出 js:
@Html.TextBox("txtSecCode", null, new { @class = "form-control", maxlength = 20, required = "required", pattern = "[a-zA-Z0-9.]+"})
您required
设置什么并不重要,只需将其设置为某些内容以确保包含该属性即可。