JavaScript中常用正则表达式

工作中常用的正则表达式总结记录下来,持续更新中……

邮箱校验

function testEmail(email) {
    let reg = /^([0-9A-Za-z\-_\.]+)@([0-9a-z]+\.[a-z]{2,3}(\.[a-z]{2})?)$/g;
    return reg.test(email) ? true : false;
}

手机号校验

function testPhone(phone) {
    let reg = /^1[34578]\d{9}$/;
    return reg.test(phone) ? true : false;
}

座机号码校验

function telphone(tel) {
    var reg = /^0\d{2,3}-?\d{7,8}$/;
    return reg.test(tel) ? true : false;
}

URL正则

function testUrl(url){
    let reg=/^((https?|ftp|file):\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/;
    return reg.test(url)?true:false;
}

车牌号正则

function testPattern(pattern){
    let reg = /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-Z0-9]{4}[A-Z0-9挂学警港澳]{1}$/;
    return reg.test(pattern)?true:false;
}

获取网址最后一个斜杠前面、后面的内容

function beforeAfterLine(str,before){
    let index = str .lastIndexOf("\/");
    if(before){
        str  = str .substring(0,index + 1);
    }else{
        str  = str .substring(index + 1, str .length);
    }
    return str;
}

获取字符串中的图片标签

function getImgs(content){
    return content.match(/<img.*?(?:>|\/>)/gi);
}

获取图片中的src属性

function getImgSrc(imgStr){
    return imgStr.match(/src=[\'\"]?([^\'\"]*)[\'\"]?/i);
}

将参数拼接至api

function appendParams(api: string, params: { [key: string]: any }) {
  let finalAPI = api;
  if (params) {
        Object.keys(params).forEach((key, index) => {
            const formatParams = encodeURIComponent(params[key]);
            if (index === 0) {
                finalAPI += `?${key}=${formatParams}`;
            } else {
                finalAPI += `&${key}=${formatParams}`;
            }
        });
    }

    return finalAPI;
}

从 url 中获取指定参数值

function getParamFromUrl(url: string, targetKey: string) {
  	let endPosition = url.length;
  	if (url.indexOf('#') > 0) {
   		endPosition = url.indexOf('#');
  	}
  	let searchPart = url.substring(url.indexOf('?') + 1, endPosition);
  	// 去除尾部的'/',只保留形如'a=1&b=2'的字符串
  	if (searchPart.lastIndexOf('/') === searchPart.length - 1) {
    	searchPart = searchPart.substring(0, searchPart.length - 1);
  	}
	
  	let targetValue = '';

  	const keyValuePair = searchPart.split('&');
  	keyValuePair.some(keyValue => {
   	 	const [key, value] = keyValue.split('=');
    	if (key === targetKey) {
     		targetValue = value;
      		return true;
    	}
    	return false;
 	});

  	return targetValue;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值