如何使用正则表达式限制长度?

时间:2018-03-14 02:48:22

标签: javascript regex

我想用正则表达式验证长度(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

我的正则表达式是否写错了?

2 个答案:

答案 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;
&#13;
&#13;