希望是一个简单的,
我需要限制为 8 个数字,用户需要写 8 个数字不多不少。
现在这是我的代码:
telefonRegex = "^(?=.*[0-9])$"
但它不起作用,我刚刚听说过正则表达式仅供参考。
您当前的正则表达式永远不会匹配字符串,因为它需要在字符串的开头开始匹配 (^
),然后进行前向检查以要求在除换行符 (.*
) 以外的任何 0+ 字符之后出现数字 ( [0-9]
),然后尝试匹配字符串的结尾紧接在开头之后 - tha 是, 它匹配空字符串,但也需要至少 1 位数字。
你可以只使用
let telefonRegex = "^[0-9]{8}$"
或
let telefonRegex = "\A[0-9]{8}\z"
匹配仅由 8 位数字组成的字符串。
详
-
^
- 字符串的开头(可以在字符串文本中替换为\A
) -
[0-9]{8}
- 任何数字恰好出现 8
次 -
$
- 字符串的末尾(要确保字符串的末尾匹配,请在字符串文本中使用\z
)。