日期:2014-05-16  浏览次数:20366 次

js小记之判断电信号码

BOSS要我写个JS,判断输入的字符串是否是电信号码。没什么难度,随手笔记


/**
 * 验证手机号码是否为电信的号码,133、153、180、189 ,例如字符串:13398781234,18922225555,11212aa
 * 并且要求输入的号码用英文逗号隔开,如果没有是中文的逗号要转为英文的逗号
 * @param {} obj
 * 如果验证通过,则返回空,否则返回错误的字符串
 * 
 */
function validateDXNumber(obj){
	var returnStr = '';
	
	var newObj = '';
	if(obj != '' && obj != 'undefined'){
		if(obj.indexOf(',') > -1){   //如果字符串含有 中文逗号
			//alert('含有中文逗号');
			newObj = obj.replace(/,/g, ',');	//替换所有的,js没有replaceAll方法
		}else{
			newObj = obj;
		}
	}
	
	var reg = /^(133|153|180|189)\d{8}$/;
	var objArray= new Array(); 
	objArray  = newObj.split(',');
	for(var i=0; i<objArray.length;i++){  
		if(reg.test(objArray[i])){
			//alert(objArray[i] + '正确');
		}else{
			//alert(objArray[i] + '错误');
			returnStr += objArray[i] + ',';
		}
	}
	
	if(returnStr != ''){
		returnStr = returnStr.substring(0, returnStr.length - 1);
	}
	
	return returnStr;
}