我只允许数字,空格和以下字符:
\
+
(
)
我希望至少为6个数字。数字可以在字符串中的任意位置。
这是我能得到的最接近的
^(?=.{6,})[0-9\-\+\(\\) ]*$
我的代码有效,但要求最少6位数字。 (它至少会强制使用6个字符。)
输入不匹配的文本:
+()1234
输入应匹配的文本:
+(44)78666-05529
答案 0 :(得分:2)
您当前的前瞻^(?=.{6,})
断言,从字符串开头算起的任何字符都是6倍或更多倍。
如果数字可以在字符串中的任何位置,则必须使用正向超前和非捕获组(?:.*[0-9]){6}
来声明数字6次。
请注意,这并不能说明示例数据中数字的确切格式。
^(?=(?:.*[0-9]){6})[0-9\-+(\\) ]*$