接受的正则表达式:字母、数字和一些长度范围的次要字符

Regex that accepts: letters, numbers, and some secondary characters with a range of lengths

本文关键字:范围 字符 正则表达式 字母 数字      更新时间:2023-09-26

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

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

此正则表达式接受:

  • 信件 ( AbcABC感谢/i
  • 数字
  • 一些次要字符:àèìòù-_space

我还想插入一个范围长度(最小 1 个字符和最大 20 个字符)。我试图插入{1,20},但没有成功。

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

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

在开始时使用前瞻。

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

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