使用javascript 解析手机号码

以下javascript 代码用于解析手机号码,还有不尽完善的地方,也没时间写示列:
 
// JavaScript Document
function AnalyTelNumber(id){
	this._atn_input_id=id;//获取验证号码的文本框的id
	this._atn_mobile_error="";//所以错误或重复的号码
	this._atn_mobile_right="";//所有正确的号码
	this._atn_mobile_groupSize=100;//电话号码数组的大小设置
	this._atn_mobile_num=0;//解析到正确号码的个数
	this._atn_array=new Array();//解析号码的数组
	//开始解析所以
	this._atn_StartAnaly=function(){
		this._atn_AnalyData(_atn_GetValue(this._atn_input_id));
		return this._atn_mobile_right;
	}
	//显示正确的号码
	this._atn_showRightMobile=function(id){
		_atn_SetValue(id,this._atn_mobile_right);
	}
	//显示错误的号码
	this._atn_showErrorMobile=function(id){
		_atn_SetValue(id,this._atn_mobile_error);
	}
	this.atn_showMobileNum=function(id){
		_atn_SetValue(id,this._atn_mobile_num);
	}
	//取出数组
	this._atn_GetArray=function(){
		return this._atn_array;	
	}
	//获取第一个并将其删除
	this._atn_GetFirstAndDelIt=function(){
		return this._atn_array.shift();	
	}
	//获取数组剩下的所以号码
	this._atn_GetArrayAllNumber=function(){
		if(!this._atn_array)return "";	
		var _atn_allNumber="";
		for(var i=0;i<this._atn_array.length;i++){
			_atn_allNumber+=this._atn_array[i].tel+",";
		}
		return _atn_allNumber;
	}
	//解析号码
	this._atn_AnalyData=function(_atn_data){
		if(!_atn_data)return null;
		var _atn_mobile_pattern = /\d+/g;
        var _atn_mobile_onetel_Pattern = /^0?1[3|4|5|8]\d{9}$/;        
        var _atn_mobile_allNumber = _atn_data.match(_atn_mobile_pattern);
        var _atn_mobile_one="";
		var _atn_i=0,_atn_num=0,_atn_tel="",_atn_json="";
        if (!_atn_mobile_allNumber) {return null;}
		for (var i = 0; i < _atn_mobile_allNumber.length; i++) {
			_atn_mobile_one = _atn_mobile_allNumber[i];
			if (_atn_mobile_onetel_Pattern.test(_atn_mobile_one)&&this._atn_mobile_right.indexOf(_atn_mobile_one)<0) {
				this._atn_mobile_right += _atn_mobile_one + ",";
				_atn_tel+= _atn_mobile_one + ",";
				this._atn_mobile_num++;
				_atn_num++;
				if(_atn_num==this._atn_mobile_groupSize||i+1==_atn_mobile_allNumber.length){
					  _atn_tel=_atn_tel.substring(0,_atn_tel.length-1);
					  _atn_json="({\"index\":\""+_atn_i+"\",\"tel\":\""+_atn_tel+"\",\"num\":\""+_atn_num+"\"})";
					  var _atn_json_data=eval(_atn_json);
					  this._atn_array[_atn_i]=_atn_json_data;
					  _atn_num=0;
					  _atn_tel="";
					  _atn_i++;
				}
			} else {
				this._atn_mobile_error  += _atn_mobile_one + ",";
			}
	   }
      return this._atn_array;
	}
	_atn_GetValue=function(_atn_tid){
		var _atn_tag=_atn_G(_atn_tid);	
		if(_atn_tag){
			if(_atn_tag.tagName=="INPUT"||_atn_tag.tagName=="TEXTAREA"){
				return _atn_tag.value;
			}else{
				return _atn_tag.innerHTML;
			}
		}
		return null;
	}
	_atn_SetValue=function(_atn_tid,_atn_value){
		var _atn_tag=_atn_G(_atn_tid);	
		if(_atn_tag){
			if(_atn_tag.tagName=="INPUT"||_atn_tag.tagName=="TEXTAREA"){
				_atn_tag.value=_atn_value;
			}else{
				_atn_tag.innerHTML=_atn_value;
			}
		}
	}
	_atn_G=function(_atn_tid){
		return document.getElementById(_atn_tid);			
	}
}


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值