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这几个字母以外的任意字符
  • 相关阅读:
    codeforce A. 2Char(水题,暴力)
    hdu 4704 Sum(组合,费马小定理,快速幂)
    light oj 1100
    hdu 4503 湫湫系列故事——植树节(组合概率)
    Codeforces Round #327 (Div. 1), problem: (A) Median Smoothing
    hdu-3833 YY's new problem(数组标记)
    hdu 4549 M斐波那契数列(快速幂 矩阵快速幂 费马小定理)
    hdu 1431 素数回文(暴力打表,埃托色尼筛法)
    hdu 1430 (BFS 康托展开 或 map )
    hdu 1024 max sum plus plus
  • 原文地址:https://www.cnblogs.com/permanent2012moira/p/5328308.html
Copyright © 2011-2022 走看看