以下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);
}
}