Du bist nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: Banana-Coding.com - Java Knuddels Emulator. Falls dies dein erster Besuch auf dieser Seite ist, lies bitte die Hilfe durch. Dort wird dir die Bedienung dieser Seite näher erläutert. Darüber hinaus solltest du dich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutze das Registrierungsformular, um dich zu registrieren oder informiere dich ausführlich über den Registrierungsvorgang. Falls du dich bereits zu einem früheren Zeitpunkt registriert hast, kannst du dich hier anmelden.

Localhost

Ehemaliger Supporter

Wohnort: 127.0.0.1

Einträge: 2

  • Private Nachricht senden

Montag, 4. Juni 2012, 20:10

Kurzbeschreibung

Dieses Snippet prüft einen String (Personalausweisnummer) auf Richtigkeit.

Beschreibung

Java-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
	public static boolean checkPattern(String aPattern, String aCode) {
		return aCode.matches(aPattern);
	}
		
	public static boolean checkID(String aID) {
		if (!checkPattern("[\\d]{10}[<]{1}[\\d]{7}[<]{1}[\\d]{7}[<]{1}[\\d]{1}", aID))
			return false;
		
		String[] subs = aID.split("<");
		int[] wgt = { 7, 3, 1 };
		int tmp = 0, com = 0, pos = 0;

		for (int a = 0; a < subs.length - 1; a++, tmp = 0) {
			for (int i = 0; i < subs[a].length() - 1; i++) {
			  	tmp += ((subs[a].charAt(i) - 48) * wgt[i % 3]) % 10;
			  	com += ((subs[a].charAt(i) - 48) * wgt[pos++ % 3]) % 10;	
			}
			 
			if (tmp % 10 != subs[a].charAt(subs[a].length() - 1) - 48)
				return false;	
				com += ((tmp % 10) * wgt[pos++ % 3]) % 10;
		}

		if (com % 10 != subs[subs.length - 1].charAt(subs[subs.length - 1].length() - 1) - 48)
			return false;
			  
		return true;
	}


Gibt true zurück wenn der String korrekt ist, ansonsten false.
Funktioniert nicht mit dem neuen Personalausweis; Format des Strings aID: String1<String2<String3<String4.


Webdisk 1.1.5 © www.viecode.com 2010-2012