道者编程

JS常用正则表达式匹配

//获取两个字符串中间的字符
var str = "abc123789";
var substr = str.match(/abc(\S*)789/)[1]; //获取abc开头到789的字符
alert(substr); //此方法在字符串中没有空格的情况下可以获取,如果有空格获取不到


//可以换一种方式
var str = "abc12 3789";
splitStr(str,'abc','789');
function splitStr(str,start='',end='')
{
	var strList = str.split(start);
	var endList = strList[1].split(end);
	return endList[0];
}


//匹配数字大于0,不能为负
function number(str)
{
	var pattern = /^[1-9]+?[0-9]*$/;
	if(!pattern.test(str)){
		return false;
	}else{ 
		return true;
	}
}


//匹配带数字,支持小数点
function floatNum(str)
{
	var pattern = /^[0-9]+.?[0-9]*$/;
	if(!pattern.test(str)){
		return false;
	}else{ 
		return true;
	}
}
//匹配float 小数点最多输入两位
function floatNum(str)
{
	var pattern = /^[0-9]+.?[0-9]{0,2}$/;
	if(!pattern.test(str)){ 
		return false;
	}else{ 
		if(str.replace(/\-/g,"")==0){//去除0.00
			return false
		}else{
			return true;
		}
	}
}


//匹配电话号码,格式:0755-4567654
function tel(str)
{ 
	var pattern=str.match(/\d{3}-\d{8}|\d{4}-\d{7}/);
	if(pattern==null){
		return false;
	}else{
		return true;
	}
}


//匹配手机号码
function iphone(str)
{
	if(!(/^1[3|4|5|7|8]\d{9}$/.test(str))){ 
		return false;
	}else{
		return true;
	}
}


//匹配邮箱
function email(str)
{
	var pattern=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;	
	if(!pattern.test(email)){
		return false;
	}else{
		return true;
	}
}


/**
 * 去除字符串前后指定字符
 * @param {*} str 
 * @param {*} remove 需要去掉的特定字符
*/
function trim (str,remove=',') {
	//return str.replace(/^(\s|,)+|(\s|,)+$/g, '');
        str = str.trim()
}


/**
 * 去除左边指定字符
 * @param {*} str 
 * @param {*} remove 需要去掉的特定字符
 */
function ltrim(str,remove='') {
        str = str.trim()
        return str.replace(new RegExp('^\\'+remove+'+', 'g'), '');
}


/**
 * 去除右边指定字符
 * @param {*} str 
 * @param {*} remove 需要去掉的特定字符
 */
function rtrim(str,remove='') {
        str = str.trim()
        return str.replace(new RegExp('\\'+remove+'+$', 'g'), '');
}
 
 
       
        

最新评论:
我要评论:

看不清楚