【发布时间】:2013-07-29 12:08:57
【问题描述】:
我正在尝试验证英国国民保险编号。作为表格的一部分。显然它也需要验证服务器端,但我正在使用新的 :valid :invalid CSS 伪样式为用户提供有关表单的即时反馈。
<input type="text" required="required" pattern="Foo"/>
我一点也不精通正则表达式。谁能解开这个谜题并为我自己和其他人创建一个正则表达式,以便在pattern="#" 属性中使用?
如果有帮助,之前已经有人粗略回答过这个问题:Regular Expression to validate UK National Insurance Number。然而,经过测试,似乎没有一个答案有效。
一点英国国民保险号码信息
格式
数字的格式是两个前缀字母、六个数字和一个后缀字母。
通常使用的示例是AB123456C。
通常,数字会印有空格以配对数字,例如:AB 12 34 56 C。
道路规则
- 前两个字母都不能
D、F、I、Q、U或V。第二个字母也不能是O。 - 前缀
BG、GB、NK、KN、TN、NT和ZZ未分配。 - 后缀字母为
A、B、C或D。
【问题讨论】:
-
您从链接的问题中尝试了谁的答案;似乎“接受”的答案可能不是最好的答案?
-
实际上所有的答案。我没有发现它们有用。我会记下答案,但不幸的是我没有这样做的要点。
-
如果您能告诉我jsfiddle.net/Kmk6C 有什么问题,我会尝试解决;这使用了您提到的问题中的一个正则表达式。
-
有趣的是,这段代码似乎在 jsfiddle 中按预期工作,我今天会在我的构建中尝试它并回复你@adrian-wagg
标签: regex html forms validation client-side