在PHP中,我们有sanize来确保String是安全的.Java的类似之处是什么



在PHP中,我们有sanize来确保String是安全的。Java的类似之处是什么。我知道PreparedStatement。但这对我的项目没有帮助。有没有什么东西可以检查字符串中只有字母。

query = "SELECT  Bill_No,No,Item,Count,Rate,GST,Net,Date,Time,Manager FROM bill WHERE Manager = '"+Manager_str+"';  ";
//This is definitely insecure

试试这个。

public static void main(String args[]) {
String str="sadahkk";
System.out.println("str :"+str +" , isAlphabetsOnly:"+isAlphabetsOnly(str));
str="";
System.out.println("str :"+str +" , isAlphabetsOnly:"+isAlphabetsOnly(str));
str="sada5hkk";
System.out.println("str :"+str +" , isAlphabetsOnly:"+isAlphabetsOnly(str));
str="<alert>";
System.out.println("str :"+str +" , isAlphabetsOnly:"+isAlphabetsOnly(str));
str="-- sadahkk";
System.out.println("str :"+str +" , isAlphabetsOnly:"+isAlphabetsOnly(str));
str="@fgfg";
System.out.println("str :"+str +" , isAlphabetsOnly:"+isAlphabetsOnly(str));
}
public static boolean isAlphabetsOnly(String str ) {
return ((!str.equals(""))
&& (str != null)
&& (str.matches("^[a-zA-Z]*$")));
}

==============================================

输出如下

str:sadahkk,isAlphabetsOnly:true

str:,isAlphabetsOnly:false

str:sada5hkk,isAlphabetsOnly:false

str:,isAlphabetsOnly:false

str:--sadahkk,isAlphabetsOnly:false

str:@fgfg,isAlphabetsOnly:false

Character类有一个方法isAlphabetic,您可以通过循环输入字符串中的字符来使用它。

for(char c : query.toCharArray()) {
if(!Character.isAlphabetic(c)) {
return false;
}
}
return true;

如果你使用的是Java 8或更高版本,你可以使用流:

return query.chars().allMatch(Character::isAlphabetic);

最新更新