Javascript:如何在字符串中找到邮政编码的位置?

Javascript:如何在字符串中找到邮政编码的位置?,javascript,split,zipcode,digit,Javascript,Split,Zipcode,Digit,我有一个地址是这样的:7 CITE VANEAU-75007 PARIS。我的目标是得到邮政编码。每个地址的邮政编码都可以更改,但总长度为6位。我想找到字符串中邮政编码开头的位置。你有什么想法吗?首先找到邮政编码: var arr = address.match(/(\d+)/g) ; var zip ; for (var i = 0 ;i < arr.length; i ++) { if (arr[i].length ==6) zip = arr[i]; }

我有一个地址是这样的:7 CITE VANEAU-75007 PARIS。我的目标是得到邮政编码。每个地址的邮政编码都可以更改,但总长度为6位。我想找到字符串中邮政编码开头的位置。你有什么想法吗?

首先找到邮政编码:

  var arr = address.match(/(\d+)/g) ;
    var zip ;

for (var i = 0 ;i < arr.length; i ++) {
      if (arr[i].length ==6) zip = arr[i];
  }

var pos = address.indexOf(zip)   
var arr=address.match(/(\d+)/g);
var-zip;
对于(变量i=0;i

此代码可以简化。

首先查找邮政编码:

  var arr = address.match(/(\d+)/g) ;
    var zip ;

for (var i = 0 ;i < arr.length; i ++) {
      if (arr[i].length ==6) zip = arr[i];
  }

var pos = address.indexOf(zip)   
var arr=address.match(/(\d+)/g);
var-zip;
对于(变量i=0;i

此代码可以简化。

首先查找邮政编码:

  var arr = address.match(/(\d+)/g) ;
    var zip ;

for (var i = 0 ;i < arr.length; i ++) {
      if (arr[i].length ==6) zip = arr[i];
  }

var pos = address.indexOf(zip)   
var arr=address.match(/(\d+)/g);
var-zip;
对于(变量i=0;i

此代码可以简化。

首先查找邮政编码:

  var arr = address.match(/(\d+)/g) ;
    var zip ;

for (var i = 0 ;i < arr.length; i ++) {
      if (arr[i].length ==6) zip = arr[i];
  }

var pos = address.indexOf(zip)   
var arr=address.match(/(\d+)/g);
var-zip;
对于(变量i=0;i
此代码可以简化。


只需使用
String.search

>> "7 CITE VANEAU - 750071 PARIS".search(/\d{6}/);
<< 16
>“7 CITE VANEAU-750071 PARIS”,搜索(/\d{6}/);

只需使用
String.search

>> "7 CITE VANEAU - 750071 PARIS".search(/\d{6}/);
<< 16
>“7 CITE VANEAU-750071 PARIS”,搜索(/\d{6}/);

只需使用
String.search

>> "7 CITE VANEAU - 750071 PARIS".search(/\d{6}/);
<< 16
>“7 CITE VANEAU-750071 PARIS”,搜索(/\d{6}/);

只需使用
String.search

>> "7 CITE VANEAU - 750071 PARIS".search(/\d{6}/);
<< 16
>“7 CITE VANEAU-750071 PARIS”,搜索(/\d{6}/);



你能把你到目前为止所做的尝试和你自己为解决这个问题所做的任何研究一起发布出来吗?空格中总是有字符“-”吗?如果是这样的话,myStrnig.indexOf(“-”)+1可以胜任这份工作,尽管这不是一个好的解决方案……不,我忘了提一下,有时候不止一个“-”符号,所以我不能用它。它只是为了巴黎吗?如果是,您可以
myStrnig.indexOf('75')
您提到6位数字,但示例只有5位,您可以发布您迄今为止尝试过的内容以及您自己为解决问题所做的任何研究吗?是否总是有带有空格的字符“-”?如果是这样的话,myStrnig.indexOf(“-”)+1可以胜任这份工作,尽管这不是一个好的解决方案……不,我忘了提一下,有时候不止一个“-”符号,所以我不能用它。它只是为了巴黎吗?如果是,您可以
myStrnig.indexOf('75')
您提到6位数字,但示例只有5位,您可以发布您迄今为止尝试过的内容以及您自己为解决问题所做的任何研究吗?是否总是有带有空格的字符“-”?如果是这样的话,myStrnig.indexOf(“-”)+1可以胜任这份工作,尽管这不是一个好的解决方案……不,我忘了提一下,有时候不止一个“-”符号,所以我不能用它。它只是为了巴黎吗?如果是,您可以
myStrnig.indexOf('75')
您提到6位数字,但示例只有5位,您可以发布您迄今为止尝试过的内容以及您自己为解决问题所做的任何研究吗?是否总是有带有空格的字符“-”?如果是这样的话,myStrnig.indexOf(“-”)+1可以胜任这份工作,尽管这不是一个好的解决方案……不,我忘了提一下,有时候不止一个“-”符号,所以我不能用它。它只是为了巴黎吗?如果是,您可以执行
myStrnig.indexOf('75')
您提到的6位数字,但示例只有5位。谢谢,我也发现了这一点:var zipcode=address.match(/(?:^ |\D)(\D{5})(?=\D |$)/g)[0]@JeroendeLau是的,我忘记了arr提供的长度道具。op也说拉链的长度总是6,但提供的是5。我有点困惑为什么这是公认的答案。它会在字符串中查找多个数字序列,即使是因为太短而不能作为邮政编码的序列。它在regexp中使用冗余括号。然后它费力地检查每个匹配项的长度为6,即使该限制很容易被指定为regexp的一部分。然后,它必须使用另一个调用
indexOf
,来查找位置,即使其他string/regexp例程免费提供此功能。我认为此答案不应被接受,以免误导未来的访问者。此外,如果不匹配,此代码将导致运行时错误(它将尝试访问
null
length
属性)。我删除了“已接受答案”。谢谢你对这个问题的建议,这对我理解这个问题帮助很大。谢谢,我也发现了这个:var zipcode=address.match(/(?:^ |\D)(\D{5})(?=\D |$)/g)[0]@JeroendeLau是的,我忘记了arr提供的长度道具。op也说拉链的长度总是6,但提供的是5。我有点困惑为什么这是公认的答案。它会在字符串中查找多个数字序列,即使是因为太短而不能作为邮政编码的序列。它在regexp中使用冗余括号。然后它费力地检查每个匹配项的长度为6,即使该限制很容易被指定为regexp的一部分。然后,它必须使用另一个调用
indexOf
,来查找位置,即使其他string/regexp例程免费提供此功能。我认为此答案不应被接受,以免误导未来的访问者。此外,如果不匹配,此代码将导致运行时错误(它将尝试访问
null
length
属性)。我删除了“已接受答案”。谢谢你对这个问题的建议,这对我理解这个问题帮助很大。谢谢,我也发现了这个:var zipcode=address.match(/(?:^ |\D)(\D{5})(?=\D |$)/g)[0]@JeroendeLau是的,我忘了arr的长度道具。op也说拉链的长度总是6,但只有一个