正则表达式允许数字以选项加号开头,数字之间有空格和减号

regular expression allowing numbers starting with option plus sign and spaces and minus sign in between numbers

我正在寻找允许

的正则表达式
starting with optional '+'
numbers more than 7 length
can contain '-' in between numbers
can contain ' ' between numbers

到目前为止我有

+?[0-9-_]

'+?'只允许可选的“+”一次。

0-9

允许 0 到 9 个数字

'-' 和 '_' 允许 '-' 和数字之间的空格

但是我的正则表达式没有按预期工作。任何帮助将不胜感激

已编辑

Valid strings

+92214678320
902123045
0017806801276
4891243

您应该做出的改变

  • 转义开头的+

  • -移动到字符class

  • 的开头

正则表达式可以是

^\+?[-0-9 _]{7,}$

Regex Demo

我假设 "numbers more than 7 length" 是指至少包含 7 位数字的字符串,如 phone 数字:

^\+?(\d[\s\-_]?){7,}$