我想使用正则表达式验证在文本框中输入的自定义文本。我搜索并发现了一些东西,但这些并没有帮助我达到我的要求,而且我对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));
任何有价值的建议都将受到高度赞赏。
答案 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);