我想用正则表达式验证长度(6-18)的字符串:
var reg = new RegExp('^[a-zA-Z_0-9]{6, 18}$')
var res = reg.test('aaaaaa')
console.log(res) // but there I get false
我的正则表达式是否写错了?
答案 0 :(得分:2)
我认为你在括号中有一个流氓空间。删除它,您的代码将起作用:
var reg = new RegExp('^[a-zA-Z_0-9]{6,18}$'); // NOT {6, 18}
var res = reg.test('aaaaaa');
console.log(res);
答案 1 :(得分:0)
如果您不想使用正则表达式,可以选择以下选项:
function isCorrectLength(str, min, max) {
return str && typeof str === 'string' && str.length >= min && str.length <= max;
}
console.log(isCorrectLength('testing', 6, 18));
console.log(isCorrectLength('test', 6, 18));
&#13;