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

JQuery MVC - 接受字母和数字的蒙版文本框

此正则表达式将仅匹配数字、字母和.

[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设置什么并不重要,只需将其设置为某些内容以确保包含该属性即可。