大家好,我正在尝试允许文本输入并在发送之前进行正则表达式检查。我希望文本只包含A-Z、0-9和空格" "字符。这是我的代码:
if(!title.matches("[a-zA-Z0-9_]+") {
//fail
}
else {
//success
}
然而,当我输入"这是一个测试"等内容时,仍会得到//fail
的结果。
有什么想法吗?谢谢大家。
你的正则表达式中没有包含空格。尝试使用以下内容:
if (!title.matches("[a-zA-Z0-9 ]+"))
\s
可以匹配任何ASCII空白字符。建议使用它,而不是使用空格。
if(!title.matches("[a-zA-Z0-9_\s]+")) {
//fail
}
else {
//success
}
\s
仅适用于7位数据。它不能在Java的本地字符集上工作。 - tchrist\\s
可以代替 \s
。 - Phil Freihofner
[a-zA-Z0-9 ]+
就可以了吗? - JMRboosties_
是下划线符号。但看起来你不需要它。我已经更新了我的示例。 - Jason McCreary