工作中常用的正则表达式总结记录下来,持续更新中……
邮箱校验
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;
}