javascript正则表达式为“常规”正则表达式

问题描述 投票:-3回答:1

对javascript和regex还是陌生的,我被困在编码中。我有一个要使用正则表达式验证的代码。它必须包含11个数字,并且这些数字在某处必须包含“ 030”。我为此创建了一个js代码,但我还需要此正则表达式的“常规”版本,因为我使用的程序不允许将javascript放在字段中。因此,我需要/ ^ [0-9] {11} $ /之类的东西,但是我不知道如何在此处插入“ 030”,因为它知道可以在任何位置接受(因此03012345678有效,但12345603078也可以)有效)。我在这里检查了其他问题,但找不到任何解决方案。

这是我在javascript中拥有的内容:

    var 
      str = 12345678030,
      str = str.toString();
    if (str.indexOf("030") >= 0 && str.length == 11){
        console.log("yes");
    }else{
        console.log("no");
    }

因此,我想将其转换为普通的正则表达式,您可以在regexr.com上看到它。有人知道如何解决这个问题吗?

javascript regex
1个回答
0
投票

这看起来像是作业:)

[没有“普通”正则表达式,而没有“ javascript”正则表达式。正则表达式不是完全标准化的,并且语言(风格)之间的差异很小。

对于搜索“ 030”,由@第四只鸟表示的积极前瞻是简短有效的

[构建正则表达式时,要尝试不同的风格,您可以尝试以下允许javascript,php,python和go的网站

https://regex101.com/r/I4qvR2/1

© www.soinside.com 2019 - 2024. All rights reserved.