【问题标题】:How to get 4 sequetial numbers for postcode in javascript from a string?如何从字符串中获取 4 个 javascript 中邮政编码的序号?
【发布时间】:2018-02-16 03:13:08
【问题描述】:

我试图弄清楚如何从字符串中获取 4 个连续数字,这将是字符串中的邮政编码。 The regex seems to work fine in regex 101 但是当我尝试在 javascript 中使用它时,我收到一个错误,显示为 Uncaught SyntaxError: Unexpected token ?

我的代码是

var str = "1 George Road, Sydney  NSW 2000"; 
console.log(str.match(((?<!\d)(\d{4}(\d{4})?)\b)));

【问题讨论】:

  • 除了您缺少// ...您在正则表达式101上检查了pcre (php) - 所以,这无助于检查javascript正则表达式 - 并且JS正则表达式不“支持”负面回溯

标签: javascript regex postal-code


【解决方案1】:

您必须在正则表达式中包含//g,例如/Your Pattern/g

var str = "1 George Road, Sydney  NSW 2000"; 
console.log(str.match(/((?<!\d)(\d{4}(\d{4})?)\b)/g));
&lt;script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"&gt;&lt;/script&gt;

【讨论】:

  • 为什么选择 jquery?为什么是全球标志?你检查过了吗?你注意到错误了吗? SyntaxError: invalid regexp group
  • 非常感谢 Shree,修复了它。没注意到我错过了//g
  • 哦 ... Chrome 似乎确实支持消极的后视 - 发现 chrome 用户
  • 太棒了......一半的互联网没有......所以如果您的网页是面向公众的,请考虑到越来越多的人不使用 Chrum
猜你喜欢
  • 1970-01-01
  • 2023-02-21
  • 1970-01-01
  • 2014-01-31
  • 2020-04-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-22
相关资源
最近更新 更多