Jquery验证字符串长度预先替换字段字符

Posted

技术标签:

【中文标题】Jquery验证字符串长度预先替换字段字符【英文标题】:Jquery validation string length replacing field characters beforehand 【发布时间】:2018-03-21 10:30:00 【问题描述】:

https://jqueryvalidation.org/

我在我的电话号码字段上使用了输入掩码,我还想使用 Jquery 验证插件将它们包含在我的验证中,但是我在字段上使用的掩码以提高可读性,其中包含我想替换的字符验证完成。

$(document).ready(function () 
        $("#TxtMobile").focusout(function () 
            var mobile = $("#TxtMobile").val();
            $("#TxtMobile").rules("add",
            
                required: true,
                maxlength: 10,
                minlength: 10,
                regex: mobile.replace(/\ /g, '').replace(/\_/g, '')
            );
        );

目前可以得出的数字格式的一些示例如下:

04__ ___ ___
0422 226 999
____ ___ ___

所以理想情况下,我想以某种方式将其用于验证

mobile.replace(/\ /g, '').replace(/\_/g, '')

【问题讨论】:

【参考方案1】:

你可以这样添加

$("#TxtMobile").rules("add", 
   required: true,
   maxlength: 10,
   minlength: 10,
   regex:mobile.replace(/\ /g, '').replace(/\_/g, '')
   );

【讨论】:

我用我正在使用的东西更新了我的样本,但它不起作用? 使用这个代码 $("#secret").keyup(function() var val = this.value; var newVal = ''; while (val.length > 4) newVal += val.substr(0, 4) + '-'; val = val.substr(4); newVal += val; this.value = newVal; );上面的代码当用户输入时会自动转换成你的格式号 还包括 $.validator.addMethod("phoneUS", function (phone_number, element) return (/(\d0,4)-(\d0,4)- (\d0,4)/).test(phone_number); , "无效的电话号码"); $("form").validate( rules: secret: "phoneUS" );

以上是关于Jquery验证字符串长度预先替换字段字符的主要内容,如果未能解决你的问题,请参考以下文章

允许在长度受限的字段中替换数字

两个数字的Jquery验证精确长度?

我们应该验证字符串字段的最大长度吗?

asp中Replace待替换字符串有没有长度限制?

使用 Angular 和 jquery 验证输入字段?

验证字符串是不是只有数字并且只有一定的长度