Steuerzeichen

main
Andreas Wurst 2025-05-30 14:58:46 +02:00
parent f8c387e83c
commit 21eab99bc5
2 changed files with 21 additions and 10 deletions

View File

@ -30,7 +30,9 @@ public class Passwort_Check {
// [^/t] schließt Tab aus
// [^/r] schließt Carriage Return aus
// [^/n] schließt Line Feed aus
return passwort.matches(".*[^A-Za-z0-9\t\r\n].*[^A-Za-z0-9\t\r\n].*[^A-Za-z0-9\t\r\n].*");
// [^A-Za-z0-9\\x00-\\x1F\\x7F] [^A-Za-z0-9\t\r\n]
return passwort.matches(".*[^A-Za-z0-9\\x00-\\x1F\\x7F].*[^A-Za-z0-9\\x00-\\x1F\\x7F].*[^A-Za-z0-9\\x00-\\x1F\\x7F].*");
}
public static void main(String[] args) {

View File

@ -58,11 +58,6 @@ public class Test_Passwort_Check {
assertTrue(Passwort_Check.checkSonderZeichen("abcABC123!@#")); // 3 Sonderzeichen
// Überprüfung der speziellen Sonderzeichen
assertTrue(Passwort_Check.checkSonderZeichen("a b c d")); // Leerzeichen als Sonderzeichen
assertTrue(Passwort_Check.checkSonderZeichen("a b c d"));
assertFalse(Passwort_Check.checkSonderZeichen("\t\t\t")); // Tab als Sonderzeichen
assertFalse(Passwort_Check.checkSonderZeichen("\r\r\r")); // Carriage Return als Sonderzeichen
assertFalse(Passwort_Check.checkSonderZeichen("\n\n\n")); // Line Feed als Sonderzeichen
// Prüfe einzeln alle ASCII-Sonderzeichen (3347, 5864, 9196, 123126)
String asciiSonderzeichen = "!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~";
@ -72,5 +67,19 @@ public class Test_Passwort_Check {
assertTrue(Passwort_Check.checkSonderZeichen("abcABC123" + c + c + c)); // 3 identische Sonderzeichen
}
String steuerzeichen = "";
for (int i = 0; i <= 31; i++) {
steuerzeichen += (char) i;
}
steuerzeichen += (char) 127;
for (int i = 0; i < steuerzeichen.length(); i++) {
String c = "" + steuerzeichen.charAt(i);
System.out.println(c);
assertFalse(Passwort_Check.checkSonderZeichen("abcABC123" + c + c)); // nur 2 Sonderzeichen
assertFalse(Passwort_Check.checkSonderZeichen("abcABC123" + c + c + c)); // 3 identische Sonderzeichen
}
assertFalse(Passwort_Check.checkSonderZeichen("\t\t\t")); // Tab als Sonderzeichen
assertFalse(Passwort_Check.checkSonderZeichen("\r\r\r")); // Carriage Return als Sonderzeichen
assertFalse(Passwort_Check.checkSonderZeichen("\n\n\n")); // Line Feed als Sonderzeichen
}
}