NI Number Validation
From TekiWiki
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> | ||