使用正则表达式匹配验证,存在不足,希望大家提供更优的验证表达式

package com.qingbyqing.job;

import java.util.regex.Matcher;import java.util.regex.Pattern;

public class FormValid {

  public static void w(Object o) {      System.out.println(o);    }

   /**    * 邮箱验证:    */   public static boolean isValidEmail(String email) {

      String regEmail = "^(?:\\w+\\.{1})*\\w+@(\\w+\\.)*\\w+$";     Pattern pat = Pattern.compile(regEmail);     Matcher mat = pat.matcher(email);

      if (mat.find()) {         w("合法邮箱");          return true;      }     w("邮箱格式错误!");        return false; }

   /**    * ip 地址的验证    *     */   public static boolean isValidIp(String strIp) {

     String reIp = "\\b((\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])(\\b|\\.)){4}";     Pattern com = Pattern.compile(reIp);     Matcher mat = com.matcher(strIp);        if (mat.find()) {         w("IP地址格式正确");          return true;      }

       w("Ip地址格式错误");      return false; }

   /**    * 验证日期    *     */   public static boolean isValidDate(String sDate) {     String reDate = "(?:[1-9]|0[1-9]|[12]\\d|3[0-1])(\\/|\\-)(?:[1-9]|0[1-9]|1[0-2])(\\/|\\-)(?:19|20\\d\\d)";     Pattern com = Pattern.compile(reDate);       Matcher mat = com.matcher(sDate);        if (mat.find()) {

           w("日期格式正确");            return true;      }

       w("日期格式错误");

      return false; }

   /**    * 验证信用卡号  *     */   public static boolean isValidCard(String sCard) {     String reCard = "^(4\\d{12}(?:\\d{3})?)$";     Pattern com = Pattern.compile(reCard);       Matcher mat = com.matcher(sCard);

        if (mat.find()) {         w(reCard);            w("格式正确");

            // 判断是否合法         boolean luhn = FormValid.isLuhn(sCard);

            if (luhn) {               w("卡号是合法的");                return true;          } else {              w("卡号不合法");             return false;         }

       }     w("格式不正确");

       return false; }

   /**    * luhn算法  *     */

         public static boolean isLuhn(String strNum){

             int oddSum=0;            int evenSum=0;           boolean isOdd=true;

            for (int i=strNum.length()-1;i>=0;i--){              char cNum=strNum.charAt(i);

                int   num=Integer.parseInt(cNum+"");

                System.out.print("第"+i+"个"+"是"+"\t"+num+"\n");

               if(isOdd){                     oddSum+=num;                }else{                    num=num*2;                   if(num>9){                         num=num%10+1;                   }                     evenSum=evenSum+num;                }                 isOdd=!isOdd;            }

                return ((evenSum+oddSum)%10==0);         }

   /**    * 测试  *     */

 public static void main(String args[]) {

       String email = "qing.qingbyqing@gmail.vip.com";//邮箱测试         FormValid.isValidEmail(email);         String strIp="1.10.111.255";//IP地址测试      FormValid.isValidIp(strIp);

          String sDate="03/03/1911";         FormValid.isValidDate(sDate);//日期测试

     String strNum = "4432123456788881";        w(FormValid.isValidCard(strNum));//信用卡测试

    }}

邮箱日期IP地址信用卡验证(正则表达式)相关推荐

  1. java正则表达式验证邮箱、IP地址、手机号码

    1.java验证IP地址: Pattern pattern = Pattern.compile("\\b((?!\\d\\d\\d)\\d+|1\\d\\d|2[0-4]\\d|25[0-5 ...

  2. java正则验证网址_java正则表达式验证邮箱、IP地址、手机号码

    1.java验证IP地址: Matcher matcher = pattern.matcher("127.400.600.2"); //以验证127.400.600.2为例 Sys ...

  3. C#验证:正则表达式 验证类和界面处理(手机号码,邮箱,IP地址)

    使用步骤: 1.创建验证类 2.界面调用验证类中的方法进行验证 实例代码演示如下 1.创建验证类 using System; using System.Collections.Generic; usi ...

  4. 邮箱服务器ip地址白名单,申请SSL证书时如何设置IP地址白名单和邮箱白名单

    8月3日消息 在申请SSL证书时,由于您的邮箱可能默认设置或自定义设置了拦截国外邮件,可能会导致您接收不到CA的邮件,给验证.收取证书带来了不便:如果服务器,防火墙也设置了拦截操作,那么即使您按CA要 ...

  5. 代理服务器ip地址搜索验证软件_代理服务器与ip分类介绍

    对于网络地址,我们每天上网的时候其实都会接触到,但如果不是有学习过互联网知识,普通用户是很少会将注意力放在ip地址这方面的.毕竟,我们只需要知道网络有没有响应,有没有成功连接上就可以了. 但是,随着网 ...

  6. offiece邮箱服务器,急!!OFFICE 365邮箱服务器IP地址问题?

    急~~~邮件被对方拒绝,对方需要我的服务器IP和域名添加信任,请问以下报错里是否有我的服务器IP. 此邮件被收件人的电子邮件系统拒绝.请检查收件人的电子邮件地址并尝试重新发送此邮件,或者直接与收件人联 ...

  7. ip的正则表达式 java,项目实战:Java正则表达式验证IP地址

    IP 地址是网络上每台计算机的唯一标识,因此 IP 地址的错误输入将使程序无法运行.下面使用前面学习的正则表达式知识,编写一个 Java 程序来验证 IP 地址是否合法. 在定义正则表达式之前,首先要 ...

  8. 1.23 实例:正则表达式验证IP地址

    IP 地址是网络上每台计算机的唯一标识,因此 IP 地址的错误输入将使程序无法运行.下面使用前面学习的正则表达式知识,编写一个 Java 程序来验证 IP 地址是否合法. 在定义正则表达式之前,首先要 ...

  9. python re正则提取ip地址_python 正则表达式匹配IP地址

    一.实验环境 1.Windows7x64_SP1 2.anaconda2.5.0 + python2.7(anaconda集成,不需单独安装) 3.pyinstaller3.0 二.实验目的 从tex ...

最新文章

  1. 通俗易懂的ReentrantLock,不懂你来砍我
  2. mysql配置文件说明_mysql配置文件详解说明
  3. Codeforces Round #379 (Div. 2) E. Anton and Tree
  4. Nginx的error_page指令
  5. adb shell 调试 Android 串口
  6. Oracle开发常用知识
  7. SVM分类算法的基本理论问题
  8. 1.Introduction and Evaluation
  9. C C++面试常问简答题(2)
  10. C语言数理逻辑题目,数学逻辑推理题整理,看看你能答对多少
  11. TP3.2项目 MySQL5.7报错1055 group by新特性
  12. 去除报错_转录组分析 | 使用trimgalore去除低质量的reads和adaptor
  13. http session 基础知识
  14. java组件_三个必不可少的Java平台组件:什么是JVM,JDK,JRE?有啥区别?
  15. c51单片机秒表程序c语言,单片机简易秒表C51程序
  16. 腾讯支持html5吗,WebQQ全面升级支持IE9 充分运用HTML5优势
  17. 数据结构与算法之python
  18. MySQL 日志管理、备份与恢复
  19. SUSE收购Rancher Labs,云原生时代大幕拉开
  20. python3.8如何正确安装使用ExcelLibrary

热门文章

  1. 解决摄像机被遮挡问题
  2. 想交易期权要怎么买卖?
  3. 3-regexp-golang 爬虫基础正则的使用
  4. 【08月07日】A股滚动市盈率PE最低排名
  5. AD账号频繁被锁定原因
  6. ShardingSphere分库分表核心原理精讲第十二节 数据安全和脱敏详解
  7. 五年级计算机课总结,2015秋信息技术五年级上册工作总结
  8. 计算机实验报告word结果总结,计算机网络实验报告.doc
  9. 分组密码算法与DES算法
  10. leetcode题解-647. Palindromic Substrings 5. Longest Palindromic Substring