正则表达式检查在JavaScript

时间:2017-01-20 06:22:39

标签: javascript regex

我正在尝试为以下模式创建一个正则表达式: -

  

1234,4321; 5678,8765; 1234,4321; 5678,8765; 1234,4321; 5678,8765;

/[0-9]+,[0-9]+;/g/\d+,\d+;/g似乎无法在JavaScript中使用。

输出: -

function myFunction() {
  var str = "1234,4321;1234,4321;1234,4321;1234,4321;";
  var patt = new RegExp(/[0-9]+,[0-9]+;/g);
  var res = patt.test(str);
  document.getElementById("demo").innerHTML = res;
}

myFunction()
<div id="demo"></div>

2 个答案:

答案 0 :(得分:1)

你只需要一次修正。即,将全局标志g作为第二个参数传递给RegExp构造函数。

function myFunction() {
var str = "1234,4321;1234,4321;1234,4321;1234,4321;";
var patt = new RegExp(/[0-9]+,[0-9]+;/, 'g');
var res = patt.test(str);
document.getElementById("demo").innerHTML = res;
}

答案 1 :(得分:1)

使用RegEx / ^([0-9] +:[0-9] +,)* $ /解决问题。 ()star确保每次都匹配模式。

function myFunction() {
  var str = "1234,4321;1234,4321;1234,4321;1234,4321;";
  var patt = new RegExp(/^([0-9]+:[0-9]+,)*$/);
  var res = patt.test(str);
  document.getElementById("demo").innerHTML = res;
}

myFunction()
<div id="demo"></div>