繁体   English   中英

正则表达式允许数字和数字验证模式

[英]Regular expression allow numbers and digits validation pattern

我正在尝试使用 javascript 根据正则表达式模式检查表单输入是否有效。

表单输入应如下所示: xxxx-xxx-xxxx 允许数字和字母

现在它只适用于数字,因为我已经设置了它,现在它也被更改为允许字母。 有没有办法改变正则表达式我必须允许数字和字母并且仍然按原样格式化?

4 个字母或数字 A DASH 3 个字母或数字 A DASH 4 个字母或数字

validation rule
  medNumber: [
          {
            required: true,
            pattern: /^\d{4}?[- ]?\d{3}[- ]?\d{4}$/,
            message: "Please enter your #.",
            trigger: ["submit", "change", "blur"]
          }
        ],

[A-Za-z0-9]将仅匹配字母数字字符。

/^[A-Za-z0-9]{4}?[-]?[A-Za-z0-9]{3}[-]?[A-Za-z0-9]{4}$/

我还删除了[- ]实例中的空格,因为这将允许匹配,例如

xxxx xxx xxxx

在您的规范中,您提到需要破折号,而不是空格。

规则\d只允许数字。 因此,您需要将每次出现的 this 更改为\w ,它允许任何字母数字字符(字母和数字)。 所以你会得到以下信息:

/^\w{4}?[- ]?\w{3}[- ]?\w{4}$/

为了将来参考,我建议查看regexone.com 它帮助我学习了所有的正则表达式规则。 您还可以使用regex101.com轻松测试正则表达式模式。

编辑:
我可能在这方面有点太快了。 正如评论中提到的@David, \w还包括下划线。 如果你不想那样,你应该看看他的答案:)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM