我试图使用正则表达式测试以下内容,但无法使其工作。 我正在使用regex101,但是否有人可以建议如何更正此问题或格式化正则表达式?
我有一个数组 - 将其称为arr [],其中有5个元素。
- arr [0] 需要是变量字母数量的单词名称。
- arr [1] 需要是一个单词或两个单词的名称(即变量字母数量或变量字母数量后跟一个空格字符再后跟另一个变量字母数量)
- arr [2] 需要连续10个数字(例如123432908623,也可以以0开头)
- arr [3] 需要是带有以下格式的社会保障号码 - 3位数字后跟空格,然后是2位数字,然后是4位数字(例如123 45 6848)
- arr [4] 需要是带有区号的电话号码,其格式为:括号后跟3个数字,后跟空格,然后是括号后跟3个数字,再后跟空格,然后是括号后跟4个数字(例如(123)456 1234)
这里是我开始写的一些代码:
for(var i = 0; i<arr.length; i++){
var str1 = arr[i][0];
var pat1 = /^\s'w+?'/;
var first = pat1.test(str1);
console.log(first);
var str2 = arr[i][1];
var pat2 = /\s'\w+(?:\s\w+)?'/;
var second = pat2.test(str2);
console.log(second);
var str3 = arr[i][2];
var pat3 = /?:\d{10}$/;
var third = pat3.test(str3);
console.log(third);
var str4 = arr[i][3];
var pat4 = /?:\d{3}\s){2}\d{4}'\s\]$/;
var fourth = pat4.test(str4);
console.log(fourth);
var str5 = arr[i][4];
var pat5 = /\s'(?:\d{3}\s){3}\d{4})'\s\/;
var fifth = pat5.test(str5);
console.log(fifth);
}