OSDN Git Service

i
[luz/luz.git] / luz2 / src / com / lavans / luz2 / commons / Validator.java
1 /* $Id: Validator.java 409 2011-07-28 23:04:59Z dobashi $\r
2  * create: 2004/12/28\r
3  * (c)2004 Lavans Networks Inc. All Rights Reserved.\r
4  */\r
5 package com.lavans.luz2.commons;\r
6 \r
7 import java.util.List;\r
8 \r
9 import javax.xml.xpath.XPathExpressionException;\r
10 \r
11 import org.apache.commons.logging.Log;\r
12 import org.apache.commons.logging.LogFactory;\r
13 \r
14 import com.lavans.luz2.util.Config;\r
15 \r
16 \r
17 \r
18 /**\r
19  * @author dobashi\r
20  * @version 1.00\r
21  */\r
22 public class Validator {\r
23         private static Log logger = LogFactory.getLog(Validator.class.getName());\r
24 \r
25         /**\r
26          * 汎用validator\r
27          * @param item\r
28          * @return\r
29          */\r
30         public static boolean isValid(String xpath, String item){\r
31                 // check item is null\r
32                 if(org.apache.commons.lang.StringUtils.isEmpty(item)){\r
33                         return false;\r
34                 }\r
35 \r
36                 boolean result = false;\r
37                 try {\r
38                         String regex = Config.getInstance().getNodeValue("/luz/validator/"+xpath);\r
39                         result = item.matches(regex);\r
40                 } catch (XPathExpressionException e) {\r
41                         logger.info("validator path is invalid["+ xpath +"]");\r
42                 }\r
43                 return result;\r
44         }\r
45 \r
46         /**\r
47          * メールアドレスモバイルチェック用一覧。\r
48          */\r
49         private static List<String> domainList = null;\r
50         static{\r
51                 try {\r
52                         domainList = Config.getInstance().getNodeValueList("/luz/mobile_mail/domain");\r
53                 } catch (XPathExpressionException e) {\r
54                         logger.info("携帯メールドメイン指定無し");\r
55                 }\r
56         }\r
57         /**\r
58          * メールアドレス、ドメイン部がモバイルかチェック\r
59          * @param item\r
60          * @return\r
61          */\r
62         public static boolean isValidMailMobile(String item){\r
63                 for(String domain: domainList){\r
64                         if(item.contains(domain)){\r
65                                 return true;\r
66                         }\r
67                 }\r
68                 return false;\r
69         }\r
70 \r
71 //              if(item.matches("[\\w-._? +]+@[\\w-._]+.[\\w.-_]+")){\r
72                         //              if(item.matches("[\\d]{2,5}-[\\d]{1,4}-[\\d]{4}")){\r
73 //              if(item.matches("[\\d]{3}-[\\d]{4}")){\r
74 }\r