首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

字符串的合法性 正则表达式解决方案

2013-04-20 
字符串的合法性正则表达式怎么判断一个字符串的合法性,规定这个字符串除了数字,字母和_下划线不能包含其他

字符串的合法性 正则表达式
怎么判断一个字符串的合法性,规定这个字符串除了数字,字母和_下划线不能包含其他任何符号
不用正则表达式 C++ 字符串 正则表达式 合法性
[解决办法]
遍历一边,循环中判断每个字符的ascii码值。
[解决办法]
char string[] = "...";
int is_valid = 1;
for (int i = 0; i < strlen(string); i++)
{
    if (!(isdigit(string[i]) 
[解决办法]
 isalpha(string[i]) 
[解决办法]
 == '_'))
    {
        is_valid = 0;
        break;
    }
}
return is_valid;

[解决办法]
你可以用一个循环,只要碰到不是数字,字母下划线就跳出。


#include<iostream>
#include<string>
using namespace std;


int main(void)
{

string strtest;
cin>>strtest;
const char * str = strtest.c_str();
bool iserror = false;

for(int i = 0;i < strlen(str);i++)
{
if( (str[i]>'Z'
[解决办法]
str[i]<'A')&&
(str[i]>'z'
[解决办法]
str[i]<'a')&&
(str[i]>'9'
[解决办法]
str[i]<'0')&&
(str[i]!='_'))
{

iserror = true;
break;
}


}


if(iserror)
{
cout<<"the string is errror!"<<endl;
return -1;
}

cout<<"the string is true!"<<endl;


return 0;
}

热点排行