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

Javascript 正则表达式允许数字和数字验证模式,javascript,Javascript,我试图使用javascript检查基于正则表达式模式的表单输入是否有效 表单输入应如下所示:xxxx xxx xxxx允许数字和字母 现在,它只适用于数字,因为我有它的设置,现在正在改变,以允许字母以及。有没有办法改变我必须允许数字和字母的正则表达式,并且格式保持不变 4个字母或数字破折号3个字母或数字破折号4个字母或数字 validation rule medNumber: [ { required: true, patt

我试图使用javascript检查基于正则表达式模式的表单输入是否有效

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

现在,它只适用于数字,因为我有它的设置,现在正在改变,以允许字母以及。有没有办法改变我必须允许数字和字母的正则表达式,并且格式保持不变

4个字母或数字破折号3个字母或数字破折号4个字母或数字

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

规则
\d
只允许数字。因此,您需要将每次出现的情况都更改为
\w
,这允许使用任何字母数字字符(字母和数字)。因此,您将获得以下信息:

/^\w{4}?[-]?\w{3}[-]?\w{4}$/
作为将来的参考,我建议看看。它帮助我学习了所有的正则表达式规则。您还可以使用来轻松测试正则表达式模式

编辑:

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

[A-Za-z0-9]
只匹配字母数字字符

/^[A-Za-z0-9]{4}?[-]?[A-Za-z0-9]{3}[-]?[A-Za-z0-9]{4}$/
我还删除了
[-]
实例中的空格,因为这将允许以下匹配:

xxxx xxx xxxx

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

只需要一个平头,
\w
也匹配下划线
\u
@David Ah!我完全忘记了。谢谢你的提醒。我编辑了我的答案以引用你的答案,如果他希望没有下划线:)