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 |
}
|