我正在尝试为以下模式创建一个正则表达式: -
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>
答案 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>