如何使用angular5在地址中仅获取邮政编码

时间:2019-05-16 18:50:33

标签: angular

我有这样的地址

address = "1a, Hitech City Rd, Sri Sai Nagar, Madhapur, Hyderabad, Telangana 500081, India"

这里我只需要邮政编码,我就这样尝试过

ngOnInit(){
var y=this.address.split(",")
this.z=y[5]
this.addr=this.z.split(" ")[2]
}

,并且可以,但是地址并非在所有位置都完全相同。我这样修改

address = "1a, Hitech City Rd, Sri Sai Nagar, Madhapur, Hyderabad,500081, India,Streetno:123" 

在以上地址中,则以上逻辑将不起作用。是否有其他方法只能获取邮政编码。 请帮忙。

2 个答案:

答案 0 :(得分:1)

尝试此操作:您可以在文本中的任何位置放置密码。

 let address = "1a, Hitech City Rd, Sri Sai Nagar,500081, Madhapur, Hyderabad, Telangana, India";

 let res = address.split(",").map(data => data
  .trim()
  .match("\\d{6}"))
  .filter(filtered => filtered)[0][0];

 console.log(res);

希望这对您有帮助! :)

答案 1 :(得分:0)

邮政编码始终具有相同的长度,格式和数字。这非常适合REGEX。这是您的正则表达式

[0-9]{6,6}

这将匹配所有6位数字序列。您将需要处理地址数字为六位数的特殊情况。不过,在那种情况下,您会知道总是需要第二组,因为地址号码始终位于邮政编码之前。