Javascript 正则表达式字符限制
我想将下面的正则表达式也更改为a-Z 0-9,并且仅下划线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
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
修饰符。