我必须编写正则表达式进行验证。
我将classroomNumber
作为整数值,并希望滚动编号以教室编号值作为第一位开头。如何在这种情况下编写regExp
。
例如:
如果我的classroomNumber=5
,那么我需要确保学生的滚动号码以5
作为第一位开头,例如501,502,503,504,505...
,依此类推。
答案 0 :(得分:0)
您需要这样做:
var regex2 = new RegExp(fN + '\\d{2}');
但是你希望它从房间号开始,所以你需要像这样改变它:
var regex2 = new RegExp('^' + fN + '\\d{2}');
修改
如果您希望表达式与逗号分隔值匹配,则需要使用类似于以下内容的内容:
var regex2 = new RegExp('^' + fN + '\\d{2}(,' + fN + '\\d{2})*');
鉴于这样的事情:
var fN = 5;
var regex2 = new RegExp('^' + fN + '\\d{2}(,' + fN + '\\d{2})*');
var rooms = ['1,2,3,4,5,6','100,200,300,400,500,600','501,502,503,504,505','101,102,103,104,105'];
for (var i = 0; i < rooms.length; i++) {
console.log(regex2.test(rooms[i]));
}
收率:
false
false
true
false
大多数情况下,您的方法存在的问题是,您似乎将圆括号:(
和)
与方括号混淆:[
和]
。方括号用于表示要匹配的一组字符,没有特定的顺序。