如何使用Javascript格式化字符串以匹配正则表达式?
我使用的英国邮政编码可以匹配以下任何一种
N1 3LD
EC1A 3AD
GU34 8RR
Run Code Online (Sandbox Code Playgroud)
我有以下正则函数,它正确验证字符串,但我不确定如何使用正则表达式作为掩码格式化EC1A3AD
为EC1A 3AD
/ GU348RR
to GU34 8RR
/ N13LD
to N1 3LD
.
我的正则表达式是 /^[A-Za-z]{1,2}[0-9A-Za-z]{1,2}[ ]?[0-9]{0,1}[A-Za-z]{2}$/
谢谢
Bor*_*din 14
如果使用正则表达式/^([A-Z]{1,2}\d{1,2}[A-Z]?)\s*(\d[A-Z]{2})$/
,则可以提取邮政编码的两个部分,并使用插入空间重新组装它们.
var list = ['N13LD', 'EC1A3AD', 'GU348RR'];
for (var i = 0; i < list.length; i++) {
var parts = list[i].match(/^([A-Z]{1,2}\d{1,2}[A-Z]?)\s*(\d[A-Z]{2})$/);
parts.shift();
alert(parts.join(' '));
}
Run Code Online (Sandbox Code Playgroud)
产量
N1 3LD
EC1A 3AD
GU34 8RR
Run Code Online (Sandbox Code Playgroud)