正在使用jQuery Mask和blank发布到服务器

时间:2016-02-12 03:21:09

标签: javascript jquery

我正在使用jQuery掩码功能(特别是手机)。我此时没有进行任何客户端验证,并希望它能够发送数字,即使他们没有完全填写掩码。

例如,我希望获得一个电话号码的10位数字。如果用户只输入9,我希望我的服务器处理错误。不幸的是,如果输入的值与掩码不匹配,它将不发送任何内容。

这是我的js代码:

   $(".phone input[type=text]").mask("(999) 999-9999");

我需要做什么,即使未填写面具,它仍然会在发布表单时发送值?

1 个答案:

答案 0 :(得分:1)

根据您使用的the documentation of the mask plugin?之后的所有内容都是可选的,因此即使未提供10位数字,您也可以使用以下内容保留该值:

$(".phone input[type=text]").mask("?(999) 999-9999");

如果要删除非数字字符,可以在检索元素值时使用以下内容:

$(".phone input[type=text]").val().replace(/\D+/g, '');

如果您想在提交时删除这些字符,您可以使用以下内容:

$('form').on('submit', function() {
  $(".phone input[type=text]").val(function () {
    return this.value.replace(/\D+/g, '');
  });
});

作为旁注,如果您改用this masking plugin,这不会有问题。此外,它还具有cleanVal()方法,以便删除格式化字符。