首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >REGEX -只限制字符串中的数字,但允许任意数量的其他特定字符。

REGEX -只限制字符串中的数字,但允许任意数量的其他特定字符。
EN

Stack Overflow用户
提问于 2022-08-29 10:10:22
回答 1查看 52关注 0票数 1

我现在有这样一个:^\+?[()\d -]{6,12}

它允许前导+,允许()-字符和数字。但是字符串的总长度仅限于6-12个字符。

我要做到以下几点:

  • 长度限制仅适用于数字字符。允许任意数量的其他特殊字符。

有效

代码语言:javascript
复制
123456  
+123456  
+(12) (2)3-5-2

无效

代码语言:javascript
复制
1234  
1 2 (3) 4  
1233451231231 
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-08-29 10:21:36

你可以用这个正则表达式,

代码语言:javascript
复制
^\+?(?:[()\h-]*\d[()\h-]*){6,12}$

演示

解释:

  • ^ -字符串的开始
  • \+? -匹配可选加字符
  • (?:[()\h-]*\d[()\h-]*) -这基本上匹配零或多个非数字允许字符,后面跟着一个单数,然后再匹配零或多个非数字允许字符。
  • {6,12}允许以上文本至少6次,最多12次
  • $ -字符串的结尾

您没有提到regex方言,因此如果不支持\h (水平空间),则可以使用普通空间或使用\s

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73527226

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档