新加坡NRIC / FIN的正则表达式

时间:2015-04-20 08:51:17

标签: regex

我想查看新加坡NRIC / FIN的用户输入数据是否合适。

[A-Z] [0-9]{7} [A-Z]是正确的正则表达式吗?我是否需要检查第一个字符S / F / T / G?如果我需要检查其他情况,请告诉我。

任何想法都将不胜感激。谢谢。

4 个答案:

答案 0 :(得分:3)

看起来这就是你要找的东西:

^[STFG]\d{7}[A-Z]$

根据Wikipedia NRIC/FIN article

  

NRIC编号/ FIN的结构为#0000000@其中:
  # - 这个   是一封可以ST, FG的字母,具体取决于状态   持有人。
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]$

给你

相关问题