我想将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个字符,最后是{250,250}呢?
// 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}$/;
答案 0 :(得分:3)
如果我的问题正确,那么这些应该是您正在寻找的:
匹配A-z,0-9和_。
中的一组字符// 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,请添加{251,500}
。
最后一点,RegExp文字看起来像/someRegex/ig
。如果你使用的是文字,那么就没有理由在构造函数中包装(即new RegExp
)。
最后请注意,我个人在我的RegExp中避免使用*
,因为如果明星遇到结束斜线并且有人试图注释掉表达式,这会导致有趣的错误。
/* Comment out some code
var myRe = /[a-z]*/i; // The comment stops before the i.
*/ // This line breaks your code.
编辑:根据OP反馈更新第三点。