等不了了,刚刚自己写了一个...国家代码-区号-号码
不校验分机,看看对不对?
#include <regex.h>
int basIsValidTeleNo(const char *pcaBuf)
{
char caBuf[100];
regex_t tPreg;
size_t nmatch = 1;
int iResult = 0;
regmatch_t pm;
memset(&pm, 0, sizeof(regmatch_t));
memset(caBuf, 0, sizeof(caBuf));
memset(&tPreg, 0, sizeof(tPreg));
strcpy(caBuf, "^(([0-9][0-9][-_])?[0-9]{3,4}[-_])?([0-9]{7,8})$");
regcomp(&tPreg, caBuf, REG_EXTENDED);
if (regexec(&tPreg, pcaBuf, nmatch, &pm, 0) != 0)
{
return 0;
}
return 1;
}