【问题标题】:jQuery phone number validation allow spaces, minimum of 8 digitsjQuery 电话号码验证允许空格,最少 8 位
【发布时间】:2012-06-17 01:01:42
【问题描述】:

如何在仅限数字的验证中允许空格,至少为 8 位? 当允许空格时,电话号码更容易输入。例如0400 123 456、9699 1234。

到目前为止,这是我的代码,我只有最少 8 位数的验证工作:

jQuery.validator.addMethod(
  "phone",
  function(phone_number, element) {
    return this.optional(element) || /^\d{8}$/.test(phone_number);
  },
    "Please enter numbers only"
);

【问题讨论】:

  • 嗨,在寻找类似问题的答案时发现了这篇文章。从未使用 addMethod 创建自定义验证规则,您在文档流中的哪个位置指定自定义规则?那么如何从验证函数的规则部分调用它?

标签: jquery regex jquery-validate phone-number


【解决方案1】:

验证前去掉空格:

return this.optional(element) || /^\d{8,}$/.test(phone_number.replace(/\s/g, ''));

这样可以保留空间

【讨论】:

  • 谢谢它的工作,但我想要至少 8 个数字,一些电话号码将有 10 个数字。如何确保位数大于 8?
  • @JV10 只需在花括号内的8 之后添加一个逗号 :),根据您的评论编辑我的答案
【解决方案2】:

我的建议是在验证之前从phone_number 中删除空格。

jQuery.validator.addMethod(
  "phone",
  function(phone_number, element) {
    return this.optional(element) || /^\d{8}$/ *$/.test(phone_number.replace(/\s/g, ""));
  },
    "Please enter numbers only"
);

【讨论】:

  • 我希望保留空格,因为提交表单时收件人会更容易阅读。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-04
相关资源
最近更新 更多