华为机试—手机号码验证
2015-06-28 11:19
260 查看
我国大陆运营商的手机号码标准格式为:国家码+手机号码,例如:8613912345678。特点如下:
1、 长度13位;
2、 以86的国家码打头;
3、 手机号码的每一位都是数字。
请实现手机号码合法性判断的函数要求:
1) 如果手机号码合法,返回0;
2) 如果手机号码长度不合法,返回1
3) 如果手机号码中包含非数字的字符,返回2;
4) 如果手机号码不是以86打头的,返回3;
【注】除成功的情况外,以上其他合法性判断的优先级依次降低。也就是说,如果判断出长度不合法,直接返回1即可,不需要再做其他合法性判断。
示例
输入: inMsisdn = “869123456789“
输出: 1
输入: inMsisdn = “8813912345678“
输出: 3
输入: inMsisdn = “8613912345678“
输出: 0
c
java
1、 长度13位;
2、 以86的国家码打头;
3、 手机号码的每一位都是数字。
请实现手机号码合法性判断的函数要求:
1) 如果手机号码合法,返回0;
2) 如果手机号码长度不合法,返回1
3) 如果手机号码中包含非数字的字符,返回2;
4) 如果手机号码不是以86打头的,返回3;
【注】除成功的情况外,以上其他合法性判断的优先级依次降低。也就是说,如果判断出长度不合法,直接返回1即可,不需要再做其他合法性判断。
示例
输入: inMsisdn = “869123456789“
输出: 1
输入: inMsisdn = “8813912345678“
输出: 3
输入: inMsisdn = “8613912345678“
输出: 0
c
#include<stdio.h> #include<stdlib.h> #include<assert.h> #include<string.h> #define LENGTH 13 int verifyMsisdn(char *inMsisdn) { char *pchar=NULL; char *p=inMsisdn; assert(inMsisdn!=NULL); if(LENGTH==strlen(inMsisdn)) { while(*inMsisdn!='\0') { if((*inMsisdn>='0')&&(*inMsisdn<='9')) //判断字符串全为数字 inMsisdn++; else return 2 ; //return 会跳出被调用函数 } if(('8'!=*p)||(*(p+1)!='6')) return 3; } else return 1; return 0; } void main() { char pchar[100]; int result; while(gets(pchar)) { result =verifyMsisdn(pchar); printf("result is %d\n",result); } }
java
import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class phoneVerify { public int verify(String phoneStr) { if (phoneStr == null) System.exit(0); if (phoneStr.length() == 13) { Pattern pattern = Pattern.compile("[0-9]*"); Matcher isNum = pattern.matcher(phoneStr); if (!isNum.matches()) return 2; if (phoneStr.charAt(0) != '8' || phoneStr.charAt(1) != '6') return 3; } else { return 1; } return 0; } public static void main(String[] args) { phoneVerify pv = new phoneVerify(); Scanner s = new Scanner(System.in); while(s.hasNext()){ String str = s.nextLine(); System.out.println(pv.verify(str)); } } }
相关文章推荐
- cdoj31-饭卡(card) (01背包)
- 分支-11~~~分支-15
- 《般若波罗蜜多心经》白话文翻译版本
- dubbo 启动:无法读取方案文档 'http://code.alibabatech.com/sch,原因为 1) 无法找到文档; 2) 无法读取文档; 3) ...
- spring整合struts小结
- WPF编程学习——动画
- 常用bat文件
- JavaScript 语句分号的必要性
- 外观模式
- ImportError: No module named ...
- Codeforces #310 div2 C. Case of Matryoshkas
- C#操作Access通用类实例
- 剑指offer 66-矩阵中的路径
- Unity性能优化
- 测试Theano_LSTM的Tutorial例子
- iOS 集成环信, 扩展属性, chatcell label 可被点击
- 初识Mybatis
- 去除 Git 安装后的右键菜单
- Java-J2SE学习笔记-树状展现文件结构
- 分支-06~~~分支-10