2016-04-21 67 views
1

我想知道有多少个数字存在于基本上像密码的字符串中。正则表达式:字符串中的最小位数总数

现在我有这样的正则表达式:

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

它的伟大工程时,他们是在一排3位,但不是当他们整个字符串中分离出来。

我需要能够知道是否有3位像这些字符串:

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

我能做些什么?

+0

看一看[这个问题](http://stackoverflow.com/questions/15341016/regex-to-check-for-at-least-3-characters )。 –

回答

3

你可以使用这个表达式:

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

这会强制要求你输入3个数字,可能会或可能不会是连续的。

RegEx Demo

+1

这很聪明,高效 – rock321987

+1

Thx很多:) – rXp

0

无需如此复杂的正则表达式IMO - 刚刚从字符串中提取数字,CONCAT比赛,然后检查长度。喜欢的东西:

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

DEMO

相关问题