NI Number Validation

From TekiWiki

Jump to: navigation, search

This whole wiki has now moved to http://www.springboardsolutions.com/wiki

Go to this page NI Number Validation

 
Line 83: Line 83:
Using each of the exception patterns from the table above, the regular expression to validate employee payroll NI numbers is (new lines are to fit page only):
Using each of the exception patterns from the table above, the regular expression to validate employee payroll NI numbers is (new lines are to fit page only):
<pre>
<pre>
-
([ABEGHJ-LORSW-Z][ABCEGHJ-NPRSTW-Z])|(C[ABCEGHJ-NPSTW-Z])|(M[ABCEGHJ-NPRSTX-Z])
+
([ABEGHJ-LORSW-Z][ABCEGHJ-NPRSTW-Z])|(C[ABCEGHJ-NPSTW-Z])
-
|(N[ABEGHJ-NPRSTW-Z])|(P[ABCEGHJ-NRSTWX])|(T[ABCEGHJ-MPRSTW-Z])[0-9]{6}[A-D]
+
|(M[ABCEGHJ-NPRSTX-Z])|(N[ABEGHJ-NPRSTW-Z])|(P[ABCEGHJ-NRSTWX])
 +
|(T[ABCEGHJ-MPRSTW-Z])[0-9]{6}[A-D]
</pre>
</pre>
Line 95: Line 96:
GY
GY
HA, HB, HE, HH, HK, HL, HM, HP, HR, HS, HT, HW, HX, HY, HZ
HA, HB, HE, HH, HK, HL, HM, HP, HR, HS, HT, HW, HX, HY, HZ
-
JA, JB, JC, JE, JG, JH, JJ, JK, JL, JM, JN, JP, JR, JS, JT, JW, JX, JY, JZ
+
JA, JB, JC, JE, JG, JH, JJ, JK, JL, JM, JN, JP, JR, JS, JT, JW,  
 +
JX, JY, JZ
KA, KB, KE, KH, KK, KL, KM, KP, KR, KS, KT, KW, KX, KY, KZ
KA, KB, KE, KH, KK, KL, KM, KP, KR, KS, KT, KW, KX, KY, KZ
LA, LB, LE, LH, LK, LL, LM, LP, LR, LS, LT, LW, LX, LY, LZ
LA, LB, LE, LH, LK, LL, LM, LP, LR, LS, LT, LW, LX, LY, LZ
Line 103: Line 105:
PA, PB, PC, PE, PG, PH, PJ, PK, PL, PM, PN, PP, PR, PS, PT, PW, PX, PY  
PA, PB, PC, PE, PG, PH, PJ, PK, PL, PM, PN, PP, PR, PS, PT, PW, PX, PY  
RA, RB, RE, RH, RK, RM, RP, RR, RS, RT, RW, RX, RY, RZ
RA, RB, RE, RH, RK, RM, RP, RR, RS, RT, RW, RX, RY, RZ
-
SA, SB, SC, SE, SG, SH, SJ, SK, SL, SM, SN, SP, SR, SS, ST, SW, SX, SY ,SZ  
+
SA, SB, SC, SE, SG, SH, SJ, SK, SL, SM, SN, SP, SR, SS, ST, SW,  
 +
SX, SY ,SZ  
TA, TB, TE, TH, TK, TL, TM, TP, TR, TS, TT, TW, TX, TY, TZ
TA, TB, TE, TH, TK, TL, TM, TP, TR, TS, TT, TW, TX, TY, TZ
WA, WB, WE, WK, WL, WM, WP
WA, WB, WE, WK, WL, WM, WP
Line 112: Line 115:
If you need to be this precise, the regular expression is simpler, but longer (the administrative prefixes removed, new lines added purely to fit the page):
If you need to be this precise, the regular expression is simpler, but longer (the administrative prefixes removed, new lines added purely to fit the page):
<pre>
<pre>
-
(AA|AB|AE|AH|AK|AL|AM|AP|AR|AS|AT|AW|AX|AY|AZ|BA|BB|BE|BH|BK|BL|BM|BT|CA|CB|CE|CH|CK|CL
+
(AA|AB|AE|AH|AK|AL|AM|AP|AR|AS|AT|AW|AX|AY|AZ|BA|BB|BE|BH|BK|BL|BM|BT
-
|EA|EB|EE|EH|EK|EL|EM|EP|ER|ES|ET|EW|EX|EY|EZ|GY|HA|HB|HE|HH|HK|HL|HM|HP|HR|HS|HT|HW|HX|HY|HZ
+
|CA|CB|CE|CH|CK|CL|EA|EB|EE|EH|EK|EL|EM|EP|ER|ES|ET|EW|EX|EY|EZ|GY
-
|JA|JB|JC|JE|JG|JH|JJ|JK|JL|JM|JN|JP|JR|JS|JT|JW|JX|JY|JZ|KA|KB|KE|KH|KK|KL|KM|KP|KR|KS|KT|KW|KX|KY|KZ
+
|HA|HB|HE|HH|HK|HL|HM|HP|HR|HS|HT|HW|HX|HY|HZ
-
|LA|LB|LE|LH|LK|LL|LM|LP|LR|LS|LT|LW|LX|LY|LZ|MA|MX|NA|NB|NE|NH|NL|NM|NP|NR|NS|NW|NX|NY|NZ
+
|JA|JB|JC|JE|JG|JH|JJ|JK|JL|JM|JN|JP|JR|JS|JT|JW|JX|JY|JZ
-
|OA|OB|OE|OH|OK|OL|OM|OP|OR|OS|OX|PA|PB|PC|PE|PG|PH|PJ|PK|PL|PM|PN|PR|PS|PT|PW|PX
+
|KA|KB|KE|KH|KK|KL|KM|KP|KR|KS|KT|KW|KX|KY|KZ
-
|RA|RB|RE|RH|RK|RM|RP|RR|RS|RT|RW|RX|RY|RZ|SA|SB|SC|SE|SG|SH|SJ|SK|SL|SM|SN|SP|SR|SS|ST|SW|SX|SY|SZ
+
|LA|LB|LE|LH|LK|LL|LM|LP|LR|LS|LT|LW|LX|LY|LZ|MA|MX
 +
|NA|NB|NE|NH|NL|NM|NP|NR|NS|NW|NX|NY|NZ
 +
|OA|OB|OE|OH|OK|OL|OM|OP|OR|OS|OX
 +
|PA|PB|PC|PE|PG|PH|PJ|PK|PL|PM|PN|PR|PS|PT|PW|PX
 +
|RA|RB|RE|RH|RK|RM|RP|RR|RS|RT|RW|RX|RY|RZ
 +
|SA|SB|SC|SE|SG|SH|SJ|SK|SL|SM|SN|SP|SR|SS|ST|SW|SX|SY|SZ
|TA|TB|TE|TH|TK|TL|TM|TP|TR|TS|TT|TW|TX|TY|TZ|WA|WB|WE|WK|WL|WM|WP
|TA|TB|TE|TH|TK|TL|TM|TP|TR|TS|TT|TW|TX|TY|TZ|WA|WB|WE|WK|WL|WM|WP
-
|YA|YB|YE|YH|YK|YL|YM|YP|YR|YS|YT|YW|YX|YY|YZ|ZA|ZB|ZE|ZH|ZK|ZL|ZM|ZP|ZR|ZS|ZT|ZW|ZX|ZY)[0-9]{6}[A-D]
+
|YA|YB|YE|YH|YK|YL|YM|YP|YR|YS|YT|YW|YX|YY|YZ
 +
|ZA|ZB|ZE|ZH|ZK|ZL|ZM|ZP|ZR|ZS|ZT|ZW|ZX|ZY)[0-9]{6}[A-D]
</pre>
</pre>
It should be noted that this expression would need to be updated with new prefixes as they are introduced by HMRC.
It should be noted that this expression would need to be updated with new prefixes as they are introduced by HMRC.
Line 132: Line 141:
<pre>
<pre>
([ABEGHJ-LORSW-Z][ABCEGHJ-NPRSTW-Z])|(C[ABCEGHJ-NPSTW-Z])
([ABEGHJ-LORSW-Z][ABCEGHJ-NPRSTW-Z])|(C[ABCEGHJ-NPSTW-Z])
-
|(M[ABCEGHJ-NPRSTX-Z])|(N[ABEGHJ-NPRSTW-Z])|(P[ABCEGHJ-NRSTWX])|(T[ABCEGHJ-MPRSTW-Z])[0-9]{6}[A-D]
+
|(M[ABCEGHJ-NPRSTX-Z])|(N[ABEGHJ-NPRSTW-Z])
 +
|(P[ABCEGHJ-NRSTWX])|(T[ABCEGHJ-MPRSTW-Z])[0-9]{6}[A-D]
</pre>
</pre>

Latest revision as of 17:11, 11 August 2013

Personal tools