我正在尝试检查用户名是否仅包含字母字符。在 Go 中检查它的惯用方法是什么?
原文由 Casper 发布,翻译遵循 CC BY-SA 4.0 许可协议
我正在尝试检查用户名是否仅包含字母字符。在 Go 中检查它的惯用方法是什么?
原文由 Casper 发布,翻译遵循 CC BY-SA 4.0 许可协议
假设你只是在寻找 ascii 字母,你通常会看到它作为正则表达式使用字母字符类 [[:alpha:]]
或等效的 [A-Za-z]
isAlpha := regexp.MustCompile(`^[A-Za-z]+$`).MatchString
for _, username := range []string{"userone", "user2", "user-three"} {
if !isAlpha(username) {
fmt.Printf("%q is not valid\n", username)
}
}
https://play.golang.org/p/lT9Fki7tt7
原文由 JimB 发布,翻译遵循 CC BY-SA 3.0 许可协议
7 回答5.4k 阅读
6 回答7k 阅读✓ 已解决
4 回答2.4k 阅读
1 回答3.4k 阅读
2 回答965 阅读✓ 已解决
2 回答2.3k 阅读
1 回答2.2k 阅读
你可以使用 unicode.IsLetter 像这样的工作示例代码:
或者如果您的范围有限,例如 ‘a’..‘z’ 和 ‘A’..‘Z’,您可以使用此工作示例代码:
或者如果您的范围有限,例如 ‘a’..‘z’ 和 ‘A’..‘Z’,您可以使用此工作示例代码: