手机号码校验

// temp.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include <string>
#include <iostream>
using namespace std;

//手机号码校验
/*
 * 正则表达式:/^1[3548][0-9]{9}$/
 */
template <typename T> //T ~ (char*) | (string)
inline bool validateMobile(T pchMobile)
{
    int i=0;
    for(;i<12 && pchMobile[i]; i++)
    {
        if(i==0 && pchMobile[i] != 1)
            return false;
        else if(i==1 && (  pchMobile[i]!=3
                        && pchMobile[i]!=4
                        && pchMobile[i]!=5
                        && pchMobile[i]!=8))
            return false;
        else if(pchMobile[i]<0 || pchMobile[i]>9)
            return false;
    }
    return (i==11);//手机号码为11位
}

int _tmain(int argc, _TCHAR* argv[])
{
    string mobile("13714371213");
    bool ret=validateMobile(mobile);
    cout<<ret;
    getchar();
    return 0;
}

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。