繁体   English   中英

正则表达式检查具有最小值和最大值的总位数

[英]Regex to check for total number of digits with a min and max

我想测试一个包含所有字母数字字符的字符串,并且仅当字符串中的总位数在 7 到 11 之间时才返回 true。

1234567 // 真

11qqw3qd1221wqd2132 // 真

abc123def456ghi789klm012 // 假

最小 7 和最大 11 仅适用于字符串中的数字。

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

^[\d]{7,11}$

但我如何做同样的事情:

A) 数字不必是连续的,并且

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

尝试这个

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]*$/)

暂无
暂无

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

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