前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >手机号验证

手机号验证

作者头像
WindCoder
发布2018-09-20 16:06:56
2.3K0
发布2018-09-20 16:06:56
举报
文章被收录于专栏:WindCoderWindCoderWindCoder
/*
功能:手机号验证
日期: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;
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2013-10-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档