JQuery手机验证插件#

JQuery手机验证插件#,jquery,validation,phone-number,Jquery,Validation,Phone Number,我正在尝试为电话号码创建一个自定义验证方法。我想允许用户以任何格式输入手机#,如(800)555-1212、800.555.1212等。然后只需去掉非数字字符,以我自己的格式重新格式化文本并复制到输入字段中。我玩过不同的方法,但似乎找不到正确的组合。我最近的尝试是: jQuery.validator.addMethod("validphone", function(value, element, param) { mNum = value.replace(/[^0-9]/g, '');

我正在尝试为电话号码创建一个自定义验证方法。我想允许用户以任何格式输入手机#,如(800)555-1212、800.555.1212等。然后只需去掉非数字字符,以我自己的格式重新格式化文本并复制到输入字段中。我玩过不同的方法,但似乎找不到正确的组合。我最近的尝试是:

jQuery.validator.addMethod("validphone", function(value, element, param) {
    mNum = value.replace(/[^0-9]/g, ''); 
    if(mNum.length != 10)
        return false;
    else
    return this.optional(element) || (mNum.length == 10);
}, jQuery.validator.messages.number);
这似乎可以按预期进行验证,但我找不到将重新格式化的数字放回输入字段的正确方法。逻辑上我认为应该是
$(this).val(mNum)但这似乎不起作用。可能由于从验证方法调用而失败


任何想法都将不胜感激

看起来您应该在参数签名中将
val()
设置在
元素上