zoukankan      html  css  js  c++  java
  • 用户名和密码的正则表达式验证

    简单的正则表达式例子:

    /** 
    * @ClassName: RexTest 
    * @Description: TODO
    * @author BMR
    * @date 2016年3月28日 上午11:09:17 
    */
    public class RexTest {
        /**
         * 正则表达式验证昵称
         * @param nickName
         * @return
         */
        public static boolean rexCheckNickName(String nickName) {
            // 昵称格式:限16个字符,支持中英文、数字、减号或下划线
            String regStr = "^[\u4e00-\u9fa5_a-zA-Z0-9-]{1,16}$";
            return nickName.matches(regStr);
        }
    
        /**
         * 正则表达式验证密码
         * @param input
         * @return
         */
        public static boolean rexCheckPassword(String input) {
            // 6-20 位,字母、数字、字符
            //String reg = "^([A-Z]|[a-z]|[0-9]|[`-=[];,./~!@#$%^*()_+}{:?]){6,20}$";
            String regStr = "^([A-Z]|[a-z]|[0-9]|[`~!@#$%^&*()+=|{}':;',\\[\\].<>/?~!@#¥%……&*()——+|{}【】‘;:”“’。,、?]){6,20}$";
            return input.matches(regStr);
        }
        
        public static void main(String[] args){
            System.out.println("rexCheckPassword is: "+ rexCheckPassword("14`~!@#$%^&*(\)+=|{}"));
            System.out.println("rexCheckNickName is: "+ rexCheckNickName("中英文-数字_减号或下划线"));
            System.out.println("rexCheckNickName is: "+ rexCheckNickName("12文、数字、@"));
        }

    输出结果:

    rexCheckPassword is: true
    rexCheckNickName is: true
    rexCheckNickName is: false

    到底什么是正则表达式?
    在编写处理字符串的程序或网页时,经常有查找符合某些复杂规则的字符串的需要。正则表达式就是用于描述这些规则的工具。换句话说,正则表达式就是记录文本规则的代码。
    常用元字符
    代码说明
    . 匹配除换行符以外的任意字符
    w 匹配字母或数字或下划线
    s 匹配任意的空白符
    d 匹配数字
     匹配单词的开始或结束
    ^ 匹配字符串的开始
    $ 匹配字符串的结束
    常用限定符
    代码/语法说明
    * 重复零次或更多次
    + 重复一次或更多次
    ? 重复零次或一次
    {n} 重复n次
    {n,} 重复n次或更多次
    {n,m} 重复n到m次
    常用反义词
    代码/语法说明
    W 匹配任意不是字母,数字,下划线,汉字的字符
    S 匹配任意不是空白符的字符
    D 匹配任意非数字的字符
    B 匹配不是单词开头或结束的位置
    [^x] 匹配除了x以外的任意字符
    [^aeiou] 匹配除了aeiou这几个字母以外的任意字符
  • 相关阅读:
    hdu-1142(记忆化搜索+dij)
    hdu-1140(求距离,精度判断)
    hdu-1131(卡特兰数+大数)
    hdu-1130(卡特兰数+大数乘法,除法模板)
    hdu-1129(模拟题)
    hdu-1128(数学问题,筛数)
    hdu-1124(数学问题,求n!的尾零的个数)
    hdu-1115(计算多边形重心)
    hdu-1121(差分法--数学问题)
    表达式求值(堆栈)
  • 原文地址:https://www.cnblogs.com/permanent2012moira/p/5328308.html
Copyright © 2011-2022 走看看