AngularJs 对应controller中写:
$scope.moblie_test=function (telphone) {
var isChinaMobile = /^134[0-8]\d{7}$|^(?:13[5-9]|147|15[0-27-9]|178|18[2-478])\d{8}$/;
var isChinaUnion = /^(?:13[0-2]|145|15[56]|176|18[56])\d{8}$/;
var isChinaTelcom = /^(?:133|153|177|18[019])\d{8}$/;
var isOtherTelphone = /^170([059])\d{7}$/;
var telphone = telphone;
if(telphone.length !== 11){
return this.setReturnJson(false, '手机号码不正确');
}
else{
if(isChinaMobile.test(telphone)){
return this.setReturnJson(true, '移动', {name: 'ChinaMobile'});
}
else if(isChinaUnion.test(telphone)){
return this.setReturnJson(true, '联通', {name: 'ChinaUnion'});
}
else if(isChinaTelcom.test(telphone)){
return this.setReturnJson(true, '电信', {name: 'ChinaTelcom'});
}
else if(isOtherTelphone.test(telphone)){
var num = isOtherTelphone.exec(telphone);
return this.setReturnJson(true, '', {name: ''});
}
else{
return this.setReturnJson(false, '未检测到正确的手机号码');
}
}
};
$scope.setReturnJson= function(status, name, data){
if(typeof status !== 'boolean' && typeof status !== 'number'){
status = false;
}
if(typeof name !== 'string'){
name = '';
}
return {
'status': status,
'name': name,
'data': data
};
};
function mobile_change (item){
$scope.mobile =[];
$scope.ChinaMobile =[];
$scope.ChinaUnion =[];
$scope.ChinaTelcom =[];
$scope.otherMobile = [];
angular.forEach(item,function (value,name) {
var string_name=$scope.moblie_test(name).name;
// $scope.mobile.push({value:parseInt(value),name:string_name,number:name});
if(string_name=="移动")
{
$scope.ChinaMobile.push({value:parseInt(value),name:string_name,number:name});
}
if(string_name=="联通")
{
$scope.ChinaUnion.push({value:parseInt(value),name:string_name,number:name});
}
if(string_name=="电信")
{
$scope.ChinaTelcom.push({value:parseInt(value),name:string_name,number:name});
}
else {
if (string_name == "手机号码不正确" || string_name == "未检测到正确的手机号码")
{
$scope.otherMobile.push({value: parseInt(value), name: string_name, number: name});
}
}
})
};
前端写:
<tr>
<th>移动</th>
<th>联通</th>
<th>电信</th>
<tbody>
<tr>
<td>人数:{{ChinaMobile.length}}</td>
<td>人数:{{ChinaUnion.length}}</td>
<td>人数:{{ChinaTelcom.length}}</td>
</tr>
<tr>
<td>比重:{{ChinaMobile.length/data.total*100|number:0}}%</td>
<td>比重:{{ChinaUnion.length/data.total*100|number:0}}%</td>
<td>比重:{{ChinaTelcom.length/data.total*100|number:0}}%</td>
</tr>