某些自定义文本的正则表达式

时间:2017-02-09 15:18:16

标签: javascript regex validation

我想使用正则表达式验证在文本框中输入的自定义文本。我搜索并发现了一些东西,但这些并没有帮助我达到我的要求,而且我对mandatory 8 digit numeric then 1 hyphen then at max 2 digit numeric不熟悉,所以在这里发帖。

我的自定义文字看起来像e.g 12345678-12

- 12345678-1 - 56543434-91,12349098-4 - 50908909-10,11234568-5 - 50908909-1,11234568-5,0000000-12 and so on.......

但问题是它应该接受如上所述的多个文本。这意味着文本可以是以下格式:

var color = d3.scaleOrdinal(d3.schemeCategory10);
var shape = d3.symbolTypes;

var node = g.append("g")
 .attr("class", "nodes")
 .selectAll("circle")
 .data(graph.nodes)
 .enter().append("circle")
 .attr("r", 15)
 .attr("fill", function(d) { return color(d.group); })
 .attr("d", d3.symbol()
   .type(function (d) { return shape(d.name);}))
 .call(d3.drag()
 .on("start", dragstarted)
 .on("drag", dragged)
 .on("end", dragended));

任何有价值的建议都将受到高度赞赏。

2 个答案:

答案 0 :(得分:1)

/(\d{8}-\d{1,2}|,)+/gm

这是一个演示 - > https://regex101.com/r/p6D5rg/2

答案 1 :(得分:0)

您可以使用/ g选项匹配每个重合符和/ m选项以在多行中匹配它们。 这样的事情应该有效:

var str = "50908909-1,11234568-5,00000000-12";
var coincidences = str.match(/(\d{8}-\d{1,2})/mg);

其中str.match获得(8位) - (1或2位)代码的巧合

而且,由于我们使用/ mg选项,它也会匹配:

` 12345678-1
- 56543434-91,12349098-4
- 50908909-10,11234568-5
- 50908909-1,11234568-5,00000000-12`.match(/(\d{8}-\d{1,2})/mg);