/*功能:手机号验证日期:2013-05-30*/#include<stdio.h>#include<stdlib.h>#include<string.h>int main(void){char num[30]={0};char tmpNum[4]={0};char mob[4]={0};char uni[4]={0};char tel[4]={0};int mobileNum[16]={134,135,136,137,138,139,147,150,151,152,157,158,159,182,187,188};int uniconNum[7]={130,131,132,155,156,185,186};int teleNum[4]={133,153,180,189};int i,a=0,numLen;
printf("请输入手机号:");
while(1){//gets()函数的作用是接收一行数据,只以回车符作为结束标志。gets(num);//验证是否含有非数字字符for (i=0;i<strlen(num);i++){if (num[i]<48||num[i]>57){printf("手机号码不能含有非数字字符,请重新输入:");gets(num);i=0;continue;}}//验证手机号码的长度是否小于11位if (strlen(num)<11){printf("手机号码的长度小于11位,请重新输入:");continue;
}//验证手机号码的长度是否小于11位else if(strlen(num)>11){
printf("手机号码的长度大于11位,请重新输入:");continue;}//从此处开始验证是哪个公司的手机号for (i=0;i<3;i++){
tmpNum[i] = num[i];
}tmpNum[3]=0;//验证是否是移动的for (i=0;i<16;i++){sprintf(mob, "%d" , mobileNum[i]);
if(strcmp(tmpNum,mob)==0){
printf("你用的是移动的手机。");a++;break;}}//验证是否为联通的for (i=0;i<7;i++){sprintf(uni, "%d" , uniconNum[i]);if (strcmp(tmpNum,uni)==0){printf("你用的是联通移动的手机。");a++;break;
}}//验证是否为电信的for (i=0;i<4;i++){sprintf(tel, "%d" ,teleNum[i]);if (strcmp(tmpNum,tel)==0){printf("你用的是电信的手机。");a++;break;}}
if(a == 0){printf("没这样的号码,请重新输入:");continue;}break;
}
printf("n");system("pause");return 0;}手机号验证

最后更新于 2022-12-25
部分内容可能已过时,请注意信息时效。
本文采用 CC BY-NC-SA 4.0 许可,转载请注明出处与作者。
支持一下
如果这篇文章对你有帮助,欢迎打赏或分享。
评论