【发布时间】:2011-04-09 07:41:20
【问题描述】:
大家好,所以我试图允许一些文本输入在发送之前通过正则表达式检查。我希望文本仅包含 A-Z、0-9 和空格“”字符。这是我现在的代码:
if(!title.matches("[a-zA-Z0-9_]+") {
//fail
}
else {
//success
}
但是,当我输入“这是一个测试”之类的内容时,这仍然会给出 //fail 结果
有什么想法吗?谢谢大家。
【问题讨论】:
大家好,所以我试图允许一些文本输入在发送之前通过正则表达式检查。我希望文本仅包含 A-Z、0-9 和空格“”字符。这是我现在的代码:
if(!title.matches("[a-zA-Z0-9_]+") {
//fail
}
else {
//success
}
但是,当我输入“这是一个测试”之类的内容时,这仍然会给出 //fail 结果
有什么想法吗?谢谢大家。
【问题讨论】:
您没有在正则表达式中包含空格。请尝试以下操作:
if (!title.matches("[a-zA-Z0-9 ]+"))
【讨论】:
[a-zA-Z0-9 ]+ 应该可以吗?
_ 是文字下划线。这似乎是你不想要的。我已经更新了我的示例。
\s 允许任何 ASCII 空白字符。考虑使用它而不是“”。
if(!title.matches("[a-zA-Z0-9_\s]+")) {
//fail
}
else {
//success
}
【讨论】:
\s 仅适用于 7 位数据。它不适用于 Java 的本机字符集。