華為機試—手機號碼驗證

來源:互聯網
上載者:User

標籤:手機號碼   驗證手機號   華為機試   

我國大陸電訊廠商的手機號碼標準格式為:國家碼+手機號碼,例如: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

#include<stdio.h>#include<stdlib.h>#include<assert.h>#include<string.h>#define LENGTH  13int 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));        }    }}

華為機試—手機號碼驗證

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.