542 |
jp_milcent |
1 |
package org.tela_botanica.client.util;
|
|
|
2 |
|
|
|
3 |
public class Pattern {
|
728 |
jp_milcent |
4 |
|
|
|
5 |
public static final String url = "^(?:(?:ht|f)tp(?:s?)\\:\\/\\/|~/|/)?"+ // Protocol
|
|
|
6 |
"(?:\\w+:\\w+@)?"+ // Username:Password
|
|
|
7 |
"(?:(?:[-\\w]+\\.)+"+ // Subdomains
|
|
|
8 |
"(?:com|org|net|gov|mil|biz|info|mobi|name|aero|jobs|museum|travel|[a-z]{2}))"+ // TopLevel Domains
|
|
|
9 |
"(?::[\\d]{1,5})?"+ // Port
|
|
|
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
|
|
|
12 |
"(?:#(?:[-\\w~!$+|.,*:=]|%[a-f\\d]{2})*)?$"; // Anchor
|
|
|
13 |
|
|
|
14 |
public static final String email = "[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*"+ // Identité
|
|
|
15 |
"@"+ // At
|
|
|
16 |
"(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?";// Domaine
|
|
|
17 |
|
1113 |
jpm |
18 |
public static final String heureMinute = "^(?:[0-1][0-9]|2[0-4])"+ // Heure au format 24h
|
1112 |
jpm |
19 |
":"+ // Séparateur d'heure et minute
|
|
|
20 |
"(?:[0-5][0-9]|60)$"; // Minutes;
|
885 |
aurelien |
21 |
|
1173 |
jpm |
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 ","
|
|
|
27 |
|
542 |
jp_milcent |
28 |
/**
|
|
|
29 |
* Méthode similaire à la méthode : java.util.Pattern.quote().
|
|
|
30 |
* java.util.Pattern n'est pas implémenté par GWT.
|
744 |
jpm |
31 |
* Nous protégeons les caractères spéciaux.
|
542 |
jp_milcent |
32 |
*
|
|
|
33 |
* @link http://java.developpez.com/faq/java/?page=langage_chaine
|
744 |
jpm |
34 |
* @param chaine
|
542 |
jp_milcent |
35 |
* @return
|
|
|
36 |
*/
|
744 |
jpm |
37 |
public static String quote(String chaine) {
|
|
|
38 |
chaine.replace("\\", "\\\\");
|
|
|
39 |
|
948 |
jpm |
40 |
String[] caracteresSpeciaux = {".", "$", "[", "]", "(", ")", "{", "}", "^", "?", "*", "+", "-", "|"};
|
744 |
jpm |
41 |
for (int i = 0; i < caracteresSpeciaux.length; i++) {
|
|
|
42 |
chaine = chaine.replace(caracteresSpeciaux[i], "\\"+caracteresSpeciaux[i]);
|
542 |
jp_milcent |
43 |
}
|
744 |
jpm |
44 |
return chaine;
|
542 |
jp_milcent |
45 |
}
|
|
|
46 |
}
|