Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何验证Java中只允许包含一些特殊字符的字符串?_Java_Android - Fatal编程技术网

如何验证Java中只允许包含一些特殊字符的字符串?

如何验证Java中只允许包含一些特殊字符的字符串?,java,android,Java,Android,我想用Java验证一个字符串。它不允许使用任何特殊字符,不包括点下划线处的@.uu。只允许使用这3个字符。不允许有空间。并且只允许使用英文字母。您可以使用正则表达式: 说明: [a-zA-Z@._]:匹配英文字母表中的单个字符,或者匹配三个特殊字符“@“、”和“\” *:在零次和无限次之间匹配上一个表达式 注意: 如果空字符串也无效,请使用[a-zA-Z@._]+改为正则表达式,或者另外测试s.isEmpty()或长度是否为0。您可以通过正则表达式实现它,并且它非常简单。它将允许所有数字和字

我想用Java验证一个字符串。它不允许使用任何特殊字符,不包括点下划线处的@.uu。只允许使用这3个字符。不允许有空间。并且只允许使用英文字母。

您可以使用正则表达式:

说明

  • [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@._]*");
    }