Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 正则表达式字符限制_Javascript_Regex - Fatal编程技术网

Javascript 正则表达式字符限制

Javascript 正则表达式字符限制,javascript,regex,Javascript,Regex,我想将下面的正则表达式也更改为a-Z 0-9,并且仅下划线 var nameRegex = /^[a-zA-Z]+(([\'\,\.\-][a-zA-Z])?[a-zA-Z]*)*$/; 2,4是什么意思?这是否意味着检查TLD的最小值为2到4个字符。马克斯 var emailRegex = /^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/; 我将如何添加所需的250个字符,{250250}最后会这样做吗 // original var messageRege

我想将下面的正则表达式也更改为a-Z 0-9,并且仅下划线

var nameRegex = /^[a-zA-Z]+(([\'\,\.\-][a-zA-Z])?[a-zA-Z]*)*$/;
2,4是什么意思?这是否意味着检查TLD的最小值为2到4个字符。马克斯

var emailRegex = /^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/;
我将如何添加所需的250个字符,{250250}最后会这样做吗

// original
      var messageRegex = 
new RegExp(/<\/?\w+((\s+\w+(\s*=\s*(?:".*?"|'.*?'|[^'">\s]+))?)+\s*|\s*)\/?>/gim); 

// would this work?
      var messageRegex = 
new RegExp(/<\/?\w+((\s+\w+(\s*=\s*(?:".*?"|'.*?'|[^'">\s]+))?)+\s*|\s*)\/?>/gim){250,250}$/; 
//原件
var messageRegex=

new RegExp(/如果我没有弄错您的问题,那么这些应该是您需要的:

  • 匹配a-z、0-9和x中的一组字符

    // Would match any input with A-z 0-9 or _ in any position, given at least one char.
    var nameRegex = /^[A-Za-z\d_]+$/;
    
  • 关于
    {2,4}
    ,您是对的。它指定
    [\w-]
    应该 匹配两个、三个或四个字符

  • 您的消息RegExp将强制输入长度正好为250个字符以获得匹配。如果您想要超过250个字符但少于500个字符,请改为追加
    {251500}

  • 最后请注意,RegExp文本看起来像
    /someRegex/ig
    。如果您使用的是文本,则没有理由在构造函数中换行(即
    新RegExp

  • 最后一点注意,我个人避免在我的RegExp中使用
    *
    ,因为如果星号进入结束斜杠,并且有人试图注释掉表达式,这可能会导致有趣的bug

    /* Comment out some code
    var myRe = /[a-z]*/i; // The comment stops before the i.
    */ // This line breaks your code.
    

  • 编辑:根据OP反馈更新了第三点。

    你到底想要250个字符吗?@Josh 250到500个chr…应该是250500吗?发布了一个可能的答案。让我知道这是否是你要问的:)重新标记,我想你是在说JS,但如果你不想继续打我一巴掌:)不要重新发明死马。用正则表达式对电子邮件地址进行赋值是个坏主意。不要使用
    [a-z]
    匹配大小写字母。它可以工作,但它也匹配字符
    [
    ]
    ^
    ,反斜杠和反勾号,这些字符的代码点恰好位于
    Z
    a
    之间。改用
    [A-Za-z]
    /i
    修饰符。