接受的正则表达式:字母,数字和一些长度范围的辅助字符

时间:2014-11-27 15:55:26

标签: javascript regex

这是我的正则表达式测试函数:

function RegexText(val) { 
    var MyRegex = /^([a-z0-9 _àèìòù-]+)$/i;
    var result = MyRegex.exec(val);
    return result !== null && result[0] === val;
}

这个正则表达式接受:

  • 字母(AbcABC感谢/i
  • 一些次要角色:àèìòù-_space

我还想插入一个范围长度(min 1 char和max 20 char)。我试图插入{1,20},但没有成功。

1 个答案:

答案 0 :(得分:0)

您需要将重复量词{}放在字符类旁边。

var MyRegex = /^[a-z0-9 _àèìòù-]{1,20}$/i;

在开始时使用前瞻。

var MyRegex = /^(?=.{1,20}$)[a-z0-9 _àèìòù-]+$/i;

^(?=.{1,20}$)只允许字符长度为1到20的字符串。