Java使用正则表达式验证常用字符串

来源:互联网 发布:电脑音乐合成器软件 编辑:程序博客网 时间:2024/06/14 00:01

最近在项目中遇到比较多需要校验的字符串,由于以前没怎么用过,导致使用不太熟练。在这里将常用的正则表达式总结一下,方便日后使用,也供大家参考。

public class TestReg {    public static void main(String[] args) {        while(true) {            Scanner scanner = new Scanner(System.in);            String str = scanner.nextLine();            if("exit".equals(str)) {                break;            }            // validateUrl()为需要测试的函数,可替换            System.out.println(validateUrl(str));        }    }    // 验证是否为全为数字    public static boolean validateDigit(String str){         Pattern pattern = Pattern.compile("^[-\\+]?[\\d]*$");          Matcher matcher = pattern.matcher(str);         return matcher.matches();    }    // 验证是否全为字母,不含特殊字符    public static boolean validateCharacters(String str){         Pattern pattern = Pattern.compile("^[a-zA-Z]*$");          Matcher matcher = pattern.matcher(str);         return matcher.matches();    }    // 验证是否为自然数    public static boolean validateNatural(String str){         Pattern pattern = Pattern.compile("^[+]?[\\d]*$");          Matcher matcher = pattern.matcher(str);         return matcher.matches();    }    // 验证是否为正整数    public static boolean validatePlus(String str){         Pattern pattern = Pattern.compile("^[+]?[1-9]*$");          Matcher matcher = pattern.matcher(str);         return matcher.matches();    }    // 验证邮箱    public static boolean validateEmail(String str){         Pattern pattern = Pattern.compile("^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)+$");          Matcher matcher = pattern.matcher(str);         return matcher.matches();    }    // 验证手机号码    public static boolean validatePhoneNum(String str){         Pattern pattern = Pattern.compile("^1[3|4|5|7|8]\\d{9}$");          Matcher matcher = pattern.matcher(str);         return matcher.matches();    }    // 验证座机号码    public static boolean validateFixPhone(String str){         Pattern pattern = Pattern.compile("^(0[0-9]{2,3}\\-)?([2-9][0-9]{6,7})$");          Matcher matcher = pattern.matcher(str);         return matcher.matches();    }    // 验证网址    public static boolean validateUrl(String str){         Pattern pattern = Pattern.compile("^((ht|f)tps?):\\/\\/[\\w\\-]+(\\.[\\w\\-]+)+([\\w\\-\\.,@?^=%&:\\/~\\+#]*[\\w\\-\\@?^=%&\\/~\\+#])?$");          Matcher matcher = pattern.matcher(str);         return matcher.matches();    }}

如果发现有不对的地方,还望各位大神指正,不胜感激。