gpt4 book ai didi

regex - 使用正则表达式验证 HTML5 模式属性中的英国国民保险号/NINO

转载 作者:搜寻专家 更新时间:2023-10-31 22:31:18 25 4
gpt4 key购买 nike

我正在尝试验证英国国民保险号。作为表格的一部分。显然它也需要验证服务器端,但我正在使用新的 :valid :invalid CSS 伪样式来为用户提供有关表单的即时反馈。

<input type="text" required="required" pattern="Foo"/>

我对正则表达式一点都不流利。任何人都可以解开这个谜语并为我自己和其他人创建一个 RegEx 以在 pattern="#" 属性中使用吗?

如果有帮助的话,之前已经有人粗略回答过这个问题:Regular Expression to validate UK National Insurance Number。然而,经过测试,所有答案似乎都不起作用。

一点英国国民保险号信息

格式

号码的格式为两个前缀字母、六位数字和一个后缀字母。

通常使用的示例是 AB123456C

通常,数字打印时带有空格以将数字配对,如下所示:AB 12 34 56 C

道路规则

  • 前两个字母都不能DFIQUV。第二个字母也不能是O
  • 前缀BG, GB, NK, KN, TN, NTZZ 没有分配。
  • 后缀字母是 ABCD

最佳答案

这个应该适合您的需求:

^(?!BG|GB|NK|KN|TN|NT|ZZ)[A-CEGHJ-PR-TW-Z][A-CEGHJ-NPR-TW-Z](?:\s*\d{2}){3}\s*[A-D]$

Regular expression visualization

Visualization by Debuggex

演示:

var regex = /^(?!BG|GB|NK|KN|TN|NT|ZZ)[A-CEGHJ-PR-TW-Z][A-CEGHJ-NPR-TW-Z](?:\s*\d{2}){3}\s*[A-D]$/;
var input = document.querySelector("input");
var span = document.querySelector("span");

input.addEventListener("input", function (event) {
span.innerHTML = regex.test(event.target.value) ? "✔" : "✗";
}, false);
<input type="text" placeholder="Ex: AB 12 34 56 D" /> <span></span>

关于regex - 使用正则表达式验证 HTML5 模式属性中的英国国民保险号/NINO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17928496/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com