繁体   English   中英

regex:字符串中的最小位数

[英]regex : minimum total number of digits in a string

我想知道一个本质上像密码的字符串中有多少个数字。

现在我有这个正则表达式:

^(?=.*[0-9]{3,})([a-zA-Z0-9_/+*.-]{6,})$

当它们连续为3位数字时,效果很好,但是当它们在整个字符串中分开时,效果不佳。

我需要知道字符串中是否有3位数字:

h123dasd 1hkh / 23jd 1gvbn / * 2fefse-

我能做什么 ?

您可以使用此正则表达式:

/^(?=(?:\D*\d){3,})[a-zA-Z0-9_/+*.-]{6,}$/

这将在您的输入中强制输入3位数字,该数字可以连续也可以不连续。

正则演示

不需要这么复杂的正则表达式IMO-只需从字符串中提取数字,合并匹配项,然后检查长度即可。 就像是:

str.match(/\d+/g).reduce((p, c) => p + c).length > 3;

演示

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM