Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/470.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,我正在尝试用js构建简单的正则表达式 正则表达式的规则如下: 长度:6-32个字符 字母数字字符 至少1个字母和1个数字 特殊字符:不允许 空白:不允许 我想到了这个:/^(?=.*\d)(?=.[a-zA-Z])/ 但是工作不好。/^[a-zA-Z0-9]{6,32}$/完成了所需的工作。长度:6-32个字符: /^.{6,32}$/ 仅字母数字: /^[a-zA-Z0-9]{6,32}$/ Regexp不是一种编程语言。不要试图把所有的逻辑都塞进里面 您有3个条件-使用3个regexp

我正在尝试用js构建简单的正则表达式

正则表达式的规则如下:

长度:6-32个字符

字母数字字符

至少1个字母和1个数字

特殊字符:不允许

空白:不允许

我想到了这个:
/^(?=.*\d)(?=.[a-zA-Z])/


但是工作不好。

/^[a-zA-Z0-9]{6,32}$/
完成了所需的工作。

长度:6-32个字符:

/^.{6,32}$/
仅字母数字:

/^[a-zA-Z0-9]{6,32}$/

Regexp不是一种编程语言。不要试图把所有的逻辑都塞进里面

您有3个条件-使用3个regexp

/^[a-zA-Z0-9]{6,32}$/.test(string) && /[a-zA-Z]/.test(string) && /[0-9]/.test(string)

使用负外观标题:

/(?!^[0-9]*$)(?!^[a-zA-Z]*$)^([a-zA-Z0-9]{6,32})$/

工作不好可能意味着什么。在这种情况下,至少您提供了代码,这显然是错误的。为什么看起来像头?你的简历与你的简历不匹配,这可能是<代码>/^[A-Za-z0-9]{6,32}$/我已经更新了我的问题。添加“至少1个字母和1个数字”尝试使用此工具学习正则表达式我已经更新了我的问题。添加了“至少1个字母和1个数字”那么“至少1个字母和1个数字”呢?从OP在你上面的评论中可以看出,这个要求后来才出现。我听到了!取消我的否决票。更新:即使编辑了我的否决票,也无法删除它。有什么想法吗?这是对密码的一个常见要求,可由lookaheads实现。这不像是他试图解析html。@Kash,它还“实现”了只写且容易破解的代码。你能举个例子吗?我知道正则表达式可以“只写”,但它怎么容易被破坏?@OlegV.Volkov-仅仅因为你可能对非琐碎的正则表达式感到不舒服并不意味着其他人也不舒服。我认为凯什的正则表达式是微不足道的和正确的。划分测试的唯一原因是为每种故障类型提供唯一的错误消息(您的答案没有提供。您的解决方案更长、更复杂、更慢。-1.此外,regex是一种编程语言!您是否愿意就这一点被否决的原因发表评论?不确定为什么有人会否决这一点。Lookaheads是常用的,也是用于此目的的正确表达。有很多类似于此的答案那很有魅力。