如何检查 Swift 字符串是否只包含某些字符?

How to check if Swift string contains only certain characters?

我有一个字符串,我想检查它是否只包含 26 个大小写字母字符和 10 个数字字符:

abcdefghijklmnopkrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789

如何检查字符串不包含任何特殊字符?

使用

if string.range(of: "^[a-zA-Z0-9]*$", options: .regularExpression) != nil 如@sulthan所述。

  1. ^ 是正则表达式的起点。这不符合任何 特点。例如,^P 是匹配字母 P 的正则表达式 字符串的开头

  2. * 正则表达式后跟 * 将处理正则表达式中的重复。为了 示例 P* 匹配 PPP 或 P。这也将匹配空字符串。

  3. $ 是字符串的结尾。这不符合任何 特点。例如,P$ 正则表达式将匹配字符串末尾的 P。

如果要避免出现空字符串,请使用 + 而不是 *"^[a-zA-Z0-9]+$"vadian

所述