我想查看新加坡NRIC / FIN的用户输入数据是否合适。
[A-Z] [0-9]{7} [A-Z]
是正确的正则表达式吗?我是否需要检查第一个字符S
/ F
/ T
/ G
?如果我需要检查其他情况,请告诉我。
任何想法都将不胜感激。谢谢。
答案 0 :(得分:3)
看起来这就是你要找的东西:
^[STFG]\d{7}[A-Z]$
NRIC编号/ FIN的结构为
#0000000@
其中:
#
- 这个 是一封可以S
,T,
F
或G
的字母,具体取决于状态 持有人。
0000000
- 这是一个分配给的7位序列号 文件持有人
@
- 这是基于计算的校验和字母 在#
和0000000
。
也许,你想让它不区分大小写((?i)^[STFG]\d{7}[A-Z]$
)。
此外,如果您想进一步验证该代码,检查它是外国人还是新加坡公民的身份证,您需要一个不同的正则表达式。
答案 1 :(得分:1)
`
function nricVal(){
var ic=document.getElementByID("nric").value;
if(!ic.match(/^[STFG]\d{7}[A-Z]$/)){
alert("Invalid NRIC");
return false;
}
}

答案 2 :(得分:0)
接受的解决方案是正确的。但确切地说,校验和(标识号的最后一个字母)不是A-Z,而是A-J或Z。
本地NRIC正则表达式:
^[ST]\d{7}[A-JZ]$
国外NRIC正则表达式:
^[FG]\d{7}[A-JZ]$
答案 3 :(得分:0)
^[STFGstfg]\d{7}[a-zA-Z]$
给你