使用.splice()格式化加拿大邮政编码

时间:2014-02-24 22:21:15

标签: javascript

如果输入错误,我需要正确格式化加拿大邮政编码。

格式为### ###,其中“#”可以是数字或字母,例如:M5R 2G3

我试过这个:(为了测试目的而分手)

  shipping.zip = shipping.zip.toUpperCase().split('')

  shipping.zip = shipping.zip.splice(3, 0, ' ')

  shipping.zip = shipping.zip.join().replace(/,/g, '');

但是当我进入时:

  

m5r2g3

我明白了:

  

['M','5','R','2','G','3']

     

[]

就是这样。我不知道为什么它不起作用。请帮忙。 感谢。

1 个答案:

答案 0 :(得分:6)

'm5r2g3'.toUpperCase().replace(/\W/g,'').replace(/(...)/,'$1 ') // "M5R 2G3"

replace(/\W/g,'')删除所有非字母数字字符(包括逗号)。