正则表达式来检查了最小和最大的总位数

问题描述 投票:-2回答:1

我想测试的所有字母数字字符的字符串,并返回true,只有当数字串的总数是7至11之间。

1234567 //真

11qqw3qd1221wqd2132 //真

abc123def456ghi789klm012 //假

该分7和最大11只适用于在字符串中的数字。

所以我知道如何测试数字的最小和最大长度的字符串:

^[\d]{7,11}$

但我怎么做同样的当:

A)数字不必须是连续的和

B)还有其他字符或字符串中空格。

javascript regex digits
1个回答
2
投票

尝试这个

var str = "...";
var digits = str.length - str.replace(/[0-9]/g, '').length;
var ok = digits >=7 && digits <=11;

或这个

str.match(/^([^0-9]*[0-9]){7,11}[^0-9]*$/)
© www.soinside.com 2019 - 2024. All rights reserved.