首页 文章

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

提问于
浏览
-1

这是我的正则表达式测试功能:

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

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

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

    OR

    在开始时使用前瞻 .

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

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

相关问题