希望是一个简单的,
我需要限制8个数字,用户需要写入8个数字不多或少。
现在这是我的代码:
telefonRegex = "^(?=.*[0-9])$"
但它不起作用,我刚刚听说正则表达式。
答案 0 :(得分:7)
您当前的正则表达式从不匹配字符串,因为它需要在字符串的开头(^
)开始匹配,然后进行前向检查以要求在任何字符串之后出现数字([0-9]
)除了换行符之外的0+个字符(.*
),然后尝试在开头之后匹配字符串的结尾 - 也就是说,它匹配一个空字符串,但也需要至少1个数字。
您可以使用
let telefonRegex = "^[0-9]{8}$"
或
let telefonRegex = "\\A[0-9]{8}\\z"
匹配仅包含8位数的字符串。
<强>详情
^
- 字符串的开头(可能会被字符串文字中的\\A
替换)[0-9]{8}
- 正好8次出现任何数字$
- 字符串结尾(为了确保字符串的末尾匹配,请在字符串文字中使用\\z
)。