如何在 android 中进行允许字母、空格和点的名称验证?



我的代码无法输入。有人可以帮助我吗?

public boolean isValidLastName(final String lastname){
Pattern pattern;
Matcher matcher;
final String LASTNAME_PATTERN = "[a-zA-Z]+\.?";
pattern = Pattern.compile(LASTNAME_PATTERN);
matcher = pattern.matcher(lasname);
return matcher.matches();
}

点应放在括号内。 使用这个:

[ .a-zA-Z]+

您也可以尝试在括号中替换 \w\d 来替换 ,但我不确定 Java 是否支持它。

尝试使用这个 [a-zA-Z.\s]+ - 允许字母、点或空格。

你不应该在特殊字符之前使用像java的String那样的双"\",而应该把点放在括号里。 您可以随时检查正则表达式的工作原理 https://www.regextester.com 您可以在 doc:https://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern 中阅读有关正则表达式模式的更多信息.html

最新更新