Skip to content

常用正则集合

JS 正则使用方法

javascript
const mobileReg = /^1[3|4|5|7|8]\d{9}$/;
const mobile = '13838381438'
if(!mobileReg.test(mobile)){
    console.log('请正确填写手机号!');
    return;
}
javascript
// console中,两行 :
var patt = /e/;
patt.test("The best things in life are free!");
// console中,一行: 
/e/.test("The best things in life are free!")

VUE 表单验证正则

javascript
const rules = ref({
  nickName: [{ required: true, message: "用户昵称不能为空", trigger: "blur" }],
  email: [
    { required: true, message: "邮箱地址不能为空", trigger: "blur" }, 
    { type: "email", message: "请输入正确的邮箱地址", trigger: ["blur", "change"] }
  ],
  mobile: [
    { required: true, message: "手机号码不能为空", trigger: "blur" }, 
    { pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, message: "请输入正确的手机号码", trigger: "blur" }
  ],
});

Java 正则

java
package com.wkclz.common.utils;

import org.apache.commons.lang3.StringUtils;

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

/**
 * 匹配是否为合法字符
 */
public class RegularUtil {

    private static final Pattern IS_LEGAL_CHAR = Pattern.compile("^[0-9a-zA-Z_]{1,}$");

    public static boolean isLegalChar(String str){
        if (StringUtils.isBlank(str)) {
            return false;
        }
        str = str.trim();
        Matcher matcher = IS_LEGAL_CHAR.matcher(str);
        return matcher.matches();
    }
}

常用正则

邮箱

\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*

手机号

^(13[0-9]|14[579]|15[0-3,5-9]|16[6]|17[0135678]|18[0-9]|19[89])\d{8}$

IP

(?=(\b|\D))(((\d{1,2})|(1\d{1,2})|(2[0-4]\d)|(25[0-5]))\.){3}((\d{1,2})|(1\d{1,2})|(2[0-4]\d)|(25[0-5]))(?=(\b|\D))

域名

^(?=^.{3,255}$)(http(s)?:\/\/)?(www\.)?[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+(:\d+)*(\/\w+\.\w+)*$

日期

((^((1[8-9]\d{2})|([2-9]\d{3}))([-\/\._])(10|12|0?[13578])([-\/\._])(3[01]|[12][0-9]|0?[1-9])$)|(^((1[8-9]\d{2})|([2-9]\d{3}))([-\/\._])(11|0?[469])([-\/\._])(30|[12][0-9]|0?[1-9])$)|(^((1[8-9]\d{2})|([2-9]\d{3}))([-\/\._])(0?2)([-\/\._])(2[0-8]|1[0-9]|0?[1-9])$)|(^([2468][048]00)([-\/\._])(0?2)([-\/\._])(29)$)|(^([3579][26]00)([-\/\._])(0?2)([-\/\._])(29)$)|(^([1][89][0][48])([-\/\._])(0?2)([-\/\._])(29)$)|(^([2-9][0-9][0][48])([-\/\._])(0?2)([-\/\._])(29)$)|(^([1][89][2468][048])([-\/\._])(0?2)([-\/\._])(29)$)|(^([2-9][0-9][2468][048])([-\/\._])(0?2)([-\/\._])(29)$)|(^([1][89][13579][26])([-\/\._])(0?2)([-\/\._])(29)$)|(^([2-9][0-9][13579][26])([-\/\._])(0?2)([-\/\._])(29)$))

html 标签

<(\S*?)[^>]*>.*?</\1>|<.*? />

匹配特定数字

  ^[1-9]\d*$    //匹配正整数
  ^-[1-9]\d*$   //匹配负整数
  ^-?[1-9]\d*$   //匹配整数
  ^[1-9]\d*|0$  //匹配非负整数(正整数 + 0) 【有bug,参照后第二个】
  ^-[1-9]\d*|0$   //匹配非正整数(负整数 + 0)
   ^([1-9][0-9]*|0)$  匹配非负整数(正整数 + 0)
   ^\d+(\.{0,1}\d+){0,1}$ // 非负数【0,正整数,正小数】
   -?[0-9]+.?[0-9]+  // 识别小数【正负】
   [0-9]+.?[0-9]+  // 识别小数【正】
  ^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$   //匹配正浮点数
  ^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$  //匹配负浮点数
  ^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$  //匹配浮点数
  ^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$   //匹配非负浮点数(正浮点数 + 0)
  ^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$  //匹配非正浮点数(负浮点数 + 0)

匹配特定字符串

  ^[A-Za-z]+$  //匹配由26个英文字母组成的字符串
  ^[A-Z]+$  //匹配由26个英文字母的大写组成的字符串
  ^[a-z]+$  //匹配由26个英文字母的小写组成的字符串
  ^[A-Za-z0-9]+$  //匹配由数字和26个英文字母组成的字符串
  ^\w+$  //匹配由数字、26个英文字母或者下划线组成的字符串
    \u4e00-\u9fa5  // 中文
    ^\x00-\xff  // 双字节字符
    \n\s*\r  // 空白行

Released under the MIT License.