如何验证Java中只允许包含一些特殊字符的字符串?
我想用Java验证一个字符串。它不允许使用任何特殊字符,不包括点下划线处的@.uu。只允许使用这3个字符。不允许有空间。并且只允许使用英文字母。您可以使用正则表达式: 说明:如何验证Java中只允许包含一些特殊字符的字符串?,java,android,Java,Android,我想用Java验证一个字符串。它不允许使用任何特殊字符,不包括点下划线处的@.uu。只允许使用这3个字符。不允许有空间。并且只允许使用英文字母。您可以使用正则表达式: 说明: [a-zA-Z@._]:匹配英文字母表中的单个字符,或者匹配三个特殊字符“@“、”和“\” *:在零次和无限次之间匹配上一个表达式 注意: 如果空字符串也无效,请使用[a-zA-Z@._]+改为正则表达式,或者另外测试s.isEmpty()或长度是否为0。您可以通过正则表达式实现它,并且它非常简单。它将允许所有数字和字
:匹配英文字母表中的单个字符,或者匹配三个特殊字符“@“、”和“\”[a-zA-Z@._]
:在零次和无限次之间匹配上一个表达式*
如果空字符串也无效,请使用
[a-zA-Z@._]+
改为正则表达式,或者另外测试s.isEmpty()
或长度是否为0。您可以通过正则表达式实现它,并且它非常简单。它将允许所有数字和字母,并且只允许@,,“quot
输入:“imranishaq$123”
输出:false
输入:“imranishaq#123”
输出:false
输入:“imranishaq@123"
输出:真
输入:“imranishaq.123”
输出:真
输入:“imranishaq_123”
输出:true这工作正常。非常感谢你。
public static boolean isValid(String s) {
return s.matches("[a-zA-Z@._]*");
}
public static boolean isValidString(String s) {
return s.matches("[a-zA-Z0-9@._]*");
}