Subversion Repositories eFlore/Applications.coel

Rev

Rev 1136 | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1136 Rev 1171
1
package org.tela_botanica.client.util;
1
package org.tela_botanica.client.util;
2
 
2
 
3
public class Pattern {
3
public class Pattern {
4
	
4
	
5
	public static final String url =  "^(?:(?:ht|f)tp(?:s?)\\:\\/\\/|~/|/)?"+ // Protocol
5
	public static final String url =  "^(?:(?:ht|f)tp(?:s?)\\:\\/\\/|~/|/)?"+ // Protocol
6
		"(?:\\w+:\\w+@)?"+ // Username:Password
6
		"(?:\\w+:\\w+@)?"+ // Username:Password
7
		"(?:(?:[-\\w]+\\.)+"+ // Subdomains 
7
		"(?:(?:[-\\w]+\\.)+"+ // Subdomains 
8
		"(?:com|org|net|gov|mil|biz|info|mobi|name|aero|jobs|museum|travel|[a-z]{2}))"+ // TopLevel Domains
8
		"(?:com|org|net|gov|mil|biz|info|mobi|name|aero|jobs|museum|travel|[a-z]{2}))"+ // TopLevel Domains
9
		"(?::[\\d]{1,5})?"+ // Port
9
		"(?::[\\d]{1,5})?"+ // Port
10
		"(?:(?:(?:/(?:[-\\w~!$+|.,=]|%[a-f\\d]{2})+)+|/)+|\\?|#)?"+ // Directories
10
		"(?:(?:(?:/(?:[-\\w~!$+|.,=]|%[a-f\\d]{2})+)+|/)+|\\?|#)?"+ // Directories
11
		"(?:(?:\\?(?:[-\\w~!$+|.,*:]|%[a-f\\d{2}])+=(?:[-\\w~!$+|.,*:=]|%[a-f\\d]{2})*)(?:&(?:[-\\w~!$+|.,*:]|%[a-f\\d{2}])+=(?:[-\\w~!$+|.,*:=]|%[a-f\\d]{2})*)*)*"+ // Query
11
		"(?:(?:\\?(?:[-\\w~!$+|.,*:]|%[a-f\\d{2}])+=(?:[-\\w~!$+|.,*:=]|%[a-f\\d]{2})*)(?:&(?:[-\\w~!$+|.,*:]|%[a-f\\d{2}])+=(?:[-\\w~!$+|.,*:=]|%[a-f\\d]{2})*)*)*"+ // Query
12
		"(?:#(?:[-\\w~!$+|.,*:=]|%[a-f\\d]{2})*)?$"; // Anchor
12
		"(?:#(?:[-\\w~!$+|.,*:=]|%[a-f\\d]{2})*)?$"; // Anchor
13
	
13
	
14
	public static final String email = "[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*"+ // Identité
14
	public static final String email = "[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*"+ // Identité
15
		"@"+ // At
15
		"@"+ // At
16
		"(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?";// Domaine
16
		"(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?";// Domaine
17
	
17
	
18
	public static final String heureMinute = "^(?:[0-1][0-9]|2[0-4])"+ // Heure au format 24h
18
	public static final String heureMinute = "^(?:[0-1][0-9]|2[0-4])"+ // Heure au format 24h
19
		":"+ // Séparateur d'heure et minute
19
		":"+ // Séparateur d'heure et minute
20
		"(?:[0-5][0-9]|60)$"; // Minutes;
20
		"(?:[0-5][0-9]|60)$"; // Minutes;
-
 
21
	
-
 
22
	public static final String latitude = "^-?"+ // Nombre positif ou négatif
-
 
23
		"([0-8]?[0-9]([.,][0-9]*)?|90)$"; // Nombre décimal allant de 0 à 89 ou nombre entier valant 90 avec pour séparateur des décimales "." ou ","
-
 
24
	
-
 
25
	public static final String longitude = "^-?"+ // Nombre positif ou négatif
-
 
26
	"((1[0-7][0-9]|[1-9]?[0-9])([.,][0-9]*)?|180)$"; // Nombre décimal allant de 0 à 179 ou nombre entier valant 180 avec pour séparateur des décimales "." ou ","
21
	
27
	
22
	/**
28
	/**
23
	 * Méthode similaire à la méthode : java.util.Pattern.quote().
29
	 * Méthode similaire à la méthode : java.util.Pattern.quote().
24
	 * java.util.Pattern n'est pas implémenté par GWT.
30
	 * java.util.Pattern n'est pas implémenté par GWT.
25
	 * Nous protégeons les caractères spéciaux.
31
	 * Nous protégeons les caractères spéciaux.
26
	 * 
32
	 * 
27
	 * @link http://java.developpez.com/faq/java/?page=langage_chaine
33
	 * @link http://java.developpez.com/faq/java/?page=langage_chaine
28
	 * @param chaine
34
	 * @param chaine
29
	 * @return
35
	 * @return
30
	 */
36
	 */
31
	public static String quote(String chaine) {
37
	public static String quote(String chaine) {
32
		chaine.replace("\\", "\\\\");
38
		chaine.replace("\\", "\\\\");
33
		
39
		
34
		String[] caracteresSpeciaux = {".", "$", "[", "]", "(", ")", "{", "}", "^", "?", "*", "+", "-", "|"};
40
		String[] caracteresSpeciaux = {".", "$", "[", "]", "(", ")", "{", "}", "^", "?", "*", "+", "-", "|"};
35
		for (int i = 0; i < caracteresSpeciaux.length; i++) {
41
		for (int i = 0; i < caracteresSpeciaux.length; i++) {
36
			chaine = chaine.replace(caracteresSpeciaux[i], "\\"+caracteresSpeciaux[i]);
42
			chaine = chaine.replace(caracteresSpeciaux[i], "\\"+caracteresSpeciaux[i]);
37
		}
43
		}
38
		return chaine;
44
		return chaine;
39
	}
45
	}
40
}
46
}