我试图插入流量计数器' i'在一个简单的Reg Exp中。 通过此流程,我想验证一串数字中是否只显示0到9之间的1种数字。 字符串
中至少有一个数字必须与另一个不同{{1}}
答案 0 :(得分:0)
您可以执行以下操作:
var regex = new RegExp(i, 'g');
var count = (myString.match(regex) || []).length;
应该正常工作
答案 1 :(得分:0)
如果您的目标是匹配16位数字并确保它们不是全部相同,则可以使用单个正则表达式执行此操作:
//Example:
var myString = "2222222222222222"; //Should Output Error
var myString2 = "2222222222222228"; //Should be OK
var tester = /(\d)\1{15}/
function testString(str) {
if (tester.test(str)) {
console.log(str + " - ERROR!!!");
} else {
console.log(str + " - OK");
}
}
testString(myString);
testString(myString2);

您匹配组中的数字,然后查看它是否重复了15次。
答案 2 :(得分:0)
使用socket
从字符串构建正则表达式。
例如要new RegExp
\d[1]\
等...你会做这样的事情(使用模板文字)
\d[2]\
或字符串组合
for(var i = 0; i <= 9; i++)
{
//I'm trying here to put the 'i' inside the regular expression
var count = (myString.match(new RegExp(`\d{${i}}`, 'g') || []).length; // <-- here
if(count == 16)
{
console.log("ERROR!");
break;
}
}