正则表达式应用

正则表达式应用

一.IP单个、多个正则匹配
1.匹配单个ip

reg = /^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/

示例

reg.test("192.1") // false
reg.test("192.1.1.1") // true
reg.test("192.1.1.1,192.1.1.1") // false

2.匹配多个ip,以逗号分隔

方法一:

reg = /^(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)){3}(?:\/(?:3[0-2]|[1-2]?\d|))?(?:,(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)){3}(?:\/(?:3[0-2]|[1-2]?\d|))?)*$/

方法二:

function checkIpv6(ip) {
    let reg = /^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/;
    let valdata = ip.split(',');
    let boolData = true
    for(i=0;i<valdata.length;i++){
        if(reg.test(valdata[i])== false){ 
            boolData =  false;
        }
    }
    return boolData;
};

示例

reg.test("192.1.1.1") 	// true
reg.test("192.1.1") 	// false
reg.test("192.1.1.1,192.1.1.1") // true
reg.test("192.1.1.1,192.1.1.2.1") // false

3.匹配单个ip+端口号

reg = /^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\:([0-9]|[1-9]\d{1,3}|[1-5]\d{4}|6[0-5]{2}[0-3][0-5])$/

reg.test("192.1.1") // false
reg.test("192.1.1.1") // false
reg.test("192.1.1.1:8080")  //true
reg.test("192.1.1.1:8080,192.3.3.3") // false
reg.test("192.1.1.1:8080,192.3.3.3:8080") // false

二、校验类方法

//URL地址
function URL(val) {
  var reg = /^http[s]?:\/\/.*/;
  return reg.test(val);
}

//手机号码
var reg = /^1[3|4|5|6|7|8|9][0-9]{9}$/;

//座机(带短线)
var reg = /^(0\d{2,3}-\d{7,8})(-\d{1,4})?$/;

//身份证
// let reg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
// let reg = /(^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$)|(^[1-9]\d{5}\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}$)/;
// 只校验18的身份证
var reg = /(^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$)/;

//密码以字母开头,长度在6~18之间,只能包含字母、数字和下划线
var reg = /^[a-zA-Z]\w{5,17}$/;

//邮政编码
var reg = /[1-9]\d{5}(?!\d)/;

//QQ号
var reg = /^[1-9][0-9]{4,9}$/;

//邮箱
var reg = /^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/;

//金额(小数点2位)
// let reg = /^\d*(?:\.\d{0,2})?$/;
var reg = /^(([1-9][0-9]*)|(([0]\.\d{1,2}|[1-9][0-9]*\.\d{1,2})))$/;

//网址
var reg = /(http|ftp|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?/;

//IP
// let reg = /((?:(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d))/;
var reg = /^((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.){3}(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])$/;

//日期时间
var reg = /^(\d{4})\-(\d{2})\-(\d{2}) (\d{2})(?:\:\d{2}|:(\d{2}):(\d{2}))$/.test(val) || /^(\d{4})\-(\d{2})\-(\d{2})$/;

//数字
// let reg = /^[0-9]$/;
var reg = /^([0-9])*$/g;

//英文
var reg = /^[a-zA-Z]+$/g;

//中文
var reg = /^[\u4E00-\u9FA5]+$/g;

//中文
var reg = /[\u4E00-\u9FA5]+/g;

//小写
var reg = /^[a-z]+$/g;

//小写英文+反斜杠 / 校验
var reg = /^[a-z\/]+$/g;

//英文+反斜杠 / 校验
var reg = /^[a-zA-Z\/-]+$/g;

//常用特殊字符校验(可输入常用标点符号)
var reg = new RegExp("[`~%@#$^&*()=|{}\\[\\].<>/?~@#¥……&*()——|{}【】]");

//特殊字符校验
var reg = new RegExp("[`~!%@#$^&*()=|{}':;',\\[\\].<>《》/?~!@#¥……&*()——|{}【】‘;:”“'。,、?]");

//特殊字符校验(可输入英文点号)
var reg = new RegExp("[`~!%@#$^&*()=|{}':;',\\[\\]<>《》/?~!@#¥……&*()——|{}【】‘;:”“'。,、?]");

//特殊字符校验允许输入冒号
var reg = new RegExp("[`~!%@#$^&*()=|{}';',\\[\\].<>《》/?~!@#¥……&*()——|{}【】‘;:”“'。,、?]");

//特殊字符校验允许输入冒号大括号
var reg = new RegExp("[`~!%@#$^&*()=|';',\\[\\].<>《》/?~!@#¥……&*()——|【】‘;:”“'。,、?]");

//特殊字符校验允许输入圆括号
var reg = new RegExp("[`~!%@#$^&*=|{}':;',\\[\\].<>《》/?~!@#¥……&*——|{}【】‘;:”“'。,、?]");

//大写
var reg = /^[A-Z]+$/g;

//HTML标记
var reg = /<("[^"]*"|'[^']*'|[^'">])*>/;

// 银行卡规则 (8 - 30位 都有)
// let reg = /^([1-9]{1})(\d{14}|\d{15}|\d{16}|\d{18})$/;
// let reg = /^([1-9]{1})(\d{7,29})$/;
var reg = /^(\d{8,30})$/;

// 银行卡规则 可输入中划线(8 - 30位  都有)
var reg = /^\d{1}[0-9-]{6,28}\d{1}$/;

//经度
var longrg = /^(\-|\+)?(((\d|[1-9]\d|1[0-7]\d|0{1,3})\.\d{0,6})|(\d|[1-9]\d|1[0-7]\d|0{1,3})|180\.0{0,6}|180)$/;

//纬度
var latreg = /^(\-|\+)?([0-8]?\d{1}\.\d{0,6}|90\.0{0,6}|[0-8]?\d{1}|90)$/;

//数字+英文字母+反斜杠
var reg = /^[0-9a-zA-Z\/]+$/g;

// 判断是否为小数
var reg = /^(\-?)\d+$/;

// 判断是否为2位小数
var reg = /(^([+-]?)[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^([+-]?)(0){1}$)|(^([+-]?)[0-9]\.[0-9]([0-9])?$)/;

// 判断是否为正整数、负数、小数
var reg = /^(\-|\+)?\d+(\.\d+)?$/;

//数字和字母
var reg = /^([A-Za-z0-9])*$/;

// 判断是否含有表情符号
var reg = new RegExp("[^\\u0020-\\u007E\\u00A0-\\u00BE\\u2E80-\\uA4CF\\uF900-\\uFAFF\\uFE30-\\uFE4F\\uFF00-\\uFFEF\\u0080-\\u009F\\u2000-\\u201f\r\n]");

//编码类型校验
var reg = /^([A-Za-z0-9\-_])*$/;

// 只能输入数字和一位小数点
var reg = /^[0-9]+([.]{1}[0-9]+){0,1}$/;

//车牌号校验
var reg = /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-Z0-9]{4}[A-Z0-9挂学警港澳]{1}$/;

// 传真号码校验
var reg = /^(?:\d{3,4}-)?\d{7,8}(?:-\d{1,6})?$/;

//空格校验
var reg = /\s/;

// 特殊字符校验
var reg = new RegExp("[`%@#$^&*()=|{}''\\[\\]<>《》/@#¥&*——|{}【】]");

//正整数
var reg =/(^[1-9]\d*$)/
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Xie_bro777

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值