使用javascript 解析手机号码

来源:互联网 发布:英雄钢笔 知乎 编辑:程序博客网 时间:2024/06/05 00:36
以下javascript 代码用于解析手机号码,还有不尽完善的地方,也没时间写示列:
 
// JavaScript Documentfunction AnalyTelNumber(id){this._atn_input_id=id;//获取验证号码的文本框的idthis._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);}}