Regex 使用正则表达式验证HTML5模式属性中的英国国民保险号/NINO 我正试图确认英国国民保险号码作为表格的一部分。显然,它也需要验证服务器端,但我正在使用新的:valid:invalidCSS伪样式来向用户提供表单的即时反馈
我的正则表达式一点也不流利。是否有人能够解开这个谜团,为我和其他人创建一个正则表达式,以便在Regex 使用正则表达式验证HTML5模式属性中的英国国民保险号/NINO 我正试图确认英国国民保险号码作为表格的一部分。显然,它也需要验证服务器端,但我正在使用新的:valid:invalidCSS伪样式来向用户提供表单的即时反馈,regex,html,forms,validation,client-side,Regex,Html,Forms,Validation,Client Side,我的正则表达式一点也不流利。是否有人能够解开这个谜团,为我和其他人创建一个正则表达式,以便在模式=“#”属性中使用 如果有帮助的话,有人之前已经大致回答了这个问题:。然而,经过测试,所有答案似乎都不起作用 一点英国国民保险号码信息 格式 数字的格式为两个前缀字母、六位数字和一个后缀字母 通常使用的示例是AB123456C 通常,数字是用空格打印出来的,以使数字配对,例如:AB 12 34 56 C 交通规则 前两个字母都不能为空 D,F,I,Q,U或V。第二个字母也不能是O 未分配前缀BG、G
模式=“#”
属性中使用
如果有帮助的话,有人之前已经大致回答了这个问题:。然而,经过测试,所有答案似乎都不起作用
一点英国国民保险号码信息
格式
数字的格式为两个前缀字母、六位数字和一个后缀字母
通常使用的示例是AB123456C
通常,数字是用空格打印出来的,以使数字配对,例如:AB 12 34 56 C
交通规则
- 前两个字母都不能为空
,D
,F
,I
,Q
或U
。第二个字母也不能是V
O
- 未分配前缀
、BG
、GB
、NK
、KN
、TN
和NT
ZZ
- 后缀字母是
、A
、B
或C
D
^(?!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 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输入=document.querySelector(“输入”);
var span=document.querySelector(“span”);
addEventListener(“输入”,函数(事件){
span.innerHTML=regex.test(event.target.value)?”✔" : "✗";
},false);
或尝试以下操作:
^[a-zA-Z]{2}[0-9]{6}[A-Za-z]{1}$
使用NEST提供的最新列表,正则表达式应该是(假设没有空格)
你从链接的问题中尝试了谁的答案;似乎“接受”的答案可能不是最好的答案?实际上所有的答案都是。我觉得它们没有用处。我本想把答案记下来,但不幸的是我没有这样做的要点。如果你能告诉我出了什么问题,我会尝试提出一个解决方案;这使用了其中一个您提到的问题中的正则表达式。有趣的是,这段代码似乎在JSFIDLE中按预期工作,我今天将在我的构建中尝试它,并返回给您@adrian waggVersion,它允许在每对字符之间使用任意数量的空格(
\s*
):(!BG | GB | NK | KN TN | NT | ZZ)[ABCEGHJ-PRSTW-Z][ABCEGHJ-NPRSTW-Z]\s*\d{2}\s*{\s*[A-D]$
R = new Regex("
(^[AEHKLTYZ]{1}[ABEHK-MPR-TW-Z}{1}
|^[B]{1}[ABEK-MT]{1}
|^[C]{1}[ABEHKLR]{1}
|^[G]{1}[Y]{1}
|^[J]{1}[A-CEGHJ-NPR-TW-Z]{1}
|^[M]{1}[AWX]{1}
|^[N]{1}[ABEHLMPRSW-Z]{1]
|^[O]{1}[ABEHK-MPRSX]{1}
|^[P]{1}[A-CEGHJ-NPR-TW-Y]{1}
|^[R]{1}[ABEHKMPR-TW-Z]{1}
|^[S]{1}[A-CEGHJ-NPR-TW-Z]{1}
|^[W]{1}[ABEK-MP]{1})[0-9]{6}[A-DFM]{1}$");