所以,我有我的常规文本框,但我似乎找不到接受字母数字值的掩码。
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
答案 0 :(得分:0)
此正则表达式仅匹配数字,字母和.
。
[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
设置为什么并不重要,只需将其设置为确保属性包含在内的内容即可。