Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/react-native/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 使用正则表达式验证HTML5模式属性中的英国国民保险号/NINO 我正试图确认英国国民保险号码作为表格的一部分。显然,它也需要验证服务器端,但我正在使用新的:valid:invalidCSS伪样式来向用户提供表单的即时反馈_Regex_Html_Forms_Validation_Client Side - Fatal编程技术网

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}$");