在Android開發中,可能也會遇到一下輸入框的合法性驗證,這時候最常用的就應該是正則表達式去做一些匹配了,下面就常用的正則匹配做一下介紹
1. 手機號碼的驗證
根據實際開發於2009年9月7日最新統計: 中國電信發佈中國3G號碼段:中國聯通185,186;中國移動188,187;中國電信189,180共6個號段。
移動:134、135、136、137、138、139、150、151、157(TD)、158、159、187、188
聯通:130、131、132、152、155、156、185、186
電信:133、153、180、189、(1349衛通)
匹配代碼(目前,號碼段可能添加了一下,大家根據實際情況寫正則表達式)
- public class ClassPathResource {
- private static final Logger logger = Logger.getLogger(ClassPathResource.class);
- public static boolean isMobileNO(String mobiles){
- Pattern p = Pattern.compile("^((13[0-9])|(15[^4,\\D])|(18[0,5-9]))\\d{8}$");
- Matcher m = p.matcher(mobiles);
- logger.info(m.matches()+"---");
- return m.matches();
- }
2.郵件的驗證
public static boolean isEmail(String email){
- String str="^([a-zA-Z0-9]*[-_]?[a-zA-Z0-9]+)*@([a-zA-Z0-9]*[-_]?[a-zA-Z0-9]+)+[\\.][A-Za-z]{2,3}([\\.][A-Za-z]{2})?$";
- Pattern p = Pattern.compile(str);
- Matcher m = p.matcher(email);
- logger.info(m.matches()+"---");
- return m.matches();
3.IP地址的驗證
- Pattern pattern = Pattern.compile("");
- Matcher matcher = pattern.matcher("127.400.600.2"); //以驗證127.400.600.2爲例
- System.out.println(matcher.matches());
參考:http://hi.baidu.com/s_angel_3/item/7e030530a6a3ce1c9dc65e5f