您如何'不'在正则表达式中允许非空格?

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

我目前正在忙于荷兰电话号码验证,仅允许以下模式:

注:n代表数字。

nn-123
nn-12345678

nnn-1234567

nnnn-1234
nnnn-123456
nnnn-1234567

注意:也可以使用空格代替破折号。

问题是我的正则表达式也允许使用非空格,但是它只能允许使用破折号或空格。

到目前为止是我的正则表达式代码:

 /^([0-9]{3}[- ]?([0-9]{3}|[0-9]{7})|[0-9]{2}[- ]?([0-9]{3}|[0-9]{8})|[0-9]{4}[- ]?([0-9]{4}|[0-9]{6}|[0-9]{7})|[0-9]{3}[- ]?([0-9]{7}))$
regex validation
1个回答
0
投票

这样的事情?

\d{2,4}[-, \s]\d{3,}

不太确定您的要求是什么,但这可以通过以下方式工作:

  • 它将匹配2到4个数字字符
  • 先前匹配的数字字符后必须是破折号或空格字符
  • 破折号或空格字符后必须至少包含3个数字字符

如果这对您不起作用,请提供您需要的所有特定约束/要求。

编辑,regex101:

https://regex101.com/r/uVwAK1/1

我已经用数字1替换了“ n”个字符。

© www.soinside.com 2019 - 2024. All rights reserved.