子弹 の VISIONS
NEVER back down ~~
C++博客
首页
新随笔
联系
聚合
管理
112 Posts :: 34 Stories :: 99 Comments :: 0 Trackbacks
留言簿
(5)
给我留言
查看公开留言
查看私人留言
随笔分类
(74)
1.1 成长日记(1)
1.2 闲人杂语(3)
1.3 无病呻吟
1.4 英语学习(5)
1.5 生活手册(10)
1.51 工具箱 (8)
1.6 修身齐家(7)
1.n 日语学习(1)
1.x 临时目录(16)
2.0 工作参考(22)
2.1 WIN32 API
2.2 GDI API(1)
2.3 GDI+ API
2.4 Software Design
文章分类
2.1 创意存照
2.2 技术文章
2.3 武文弄墨
2.4 转载存档
搜索
最新随笔
1. [存照] 飞信 发短信 流程
2. Code::Blocks 的中文问题
3. char-sets supported by iconv
4. [GDI] Resolution VS DPI
5. [Vocabulary] Words002
6. 工作中终于要用到数学了!补补
7. 音乐家生活守则[ZT]
8. [设计模式] 上班路上突然想到的builder模式
9. [设计模式] Understand Design Patterns -- Factory Method
10. [Writing] The Good On The Way
11. [经验教训] 设计要点
12. [Writing] What about your living state
13. [Writting] The Spring Festival in my memory
14. 你留意过自己的父母吗?[ZT]
15. 黄帝阴符经
最新评论
1. re: [设计模式] Understand Design Patterns -- Factory Method
评论内容较长,点击标题查看
--Emma
2. re: Part of my Half Year Goal-Plan
评论内容较长,点击标题查看
--Daisy
3. re: [日语词汇] 词汇网站
评论内容较长,点击标题查看
--Check this link
4. re: [日语词汇] 词汇网站
评论内容较长,点击标题查看
--custom papers review
5. re: 数独网址
评论内容较长,点击标题查看
--this site
阅读排行榜
1. GetLastError与FormatMessage联用得到出错原因(15253)
2. 增广贤文[注解](6080)
3. 深圳市公安局派出所地址、电话一览表(4523)
4. 深圳市福田区政府机关联系电话地址一览表(3916)
5. List of Q-codes(2901)
[OPPD] Email 判断
1
//
created by ztwaker on 2006-8-10
2
//
Used for: email
3
4
#include
<
iostream
>
5
#include
<
string
>
6
#include
<
algorithm
>
7
using
namespace
std;
8
9
inline
bool
isbegch(
const
int
c)
10
{
11
return
( c
==
'
_
'
||
(c
>=
'
A
'
&&
c
<=
'
Z
'
)
||
12
(c
>=
'
a
'
&&
c
<=
'
z
'
) );
13
}
14
15
inline
bool
isfolch(
const
int
c)
16
{
17
return
( c
==
'
_
'
||
c
==
'
.
'
||
(c
>=
'
A
'
&&
c
<=
'
Z
'
)
||
18
(c
>=
'
a
'
&&
c
<=
'
z
'
)
||
(c
>=
'
0
'
&&
c
<=
'
9
'
) );
19
}
20
21
bool
isValidName(
const
string
&
name)
22
{
23
typedef
string
::const_iterator SIT;
24
25
SIT it
=
name.begin();
26
if
(
!
isbegch(static_cast
<
int
>
(
*
it)))
return
false
;
27
for
(;it
!=
name.end();
++
it)
28
{
29
if
(
!
isfolch(static_cast
<
int
>
(
*
it)))
return
false
;
30
}
31
32
return
true
;
33
}
34
35
bool
isValidDomain(
const
string
&
domain)
36
{
37
typedef
string
::const_iterator SIT;
38
for
(SIT it
=
domain.begin(); it
!=
domain.end();
++
it)
39
{
40
if
(
!
isfolch(static_cast
<
int
>
(
*
it)))
return
false
;
41
}
42
43
return
true
;
44
}
45
46
47
void
getMail(
const
string
&
eml,
string
&
name,
string
&
domain)
48
{
49
if
(
string
::npos
!=
eml.find(
"
@
"
))
50
{
51
name
=
isValidName(eml.substr(
0
, eml.find(
"
@
"
)))
?
52
eml.substr(
0
, eml.find(
"
@
"
)) :
""
;
53
54
domain
=
isValidDomain(eml.substr(eml.find(
"
@
"
)
+
1
, eml.size()
-
eml.find(
"
@
"
)))
?
55
eml.substr(eml.find(
"
@
"
)
+
1
, eml.size()
-
eml.find(
"
@
"
)) :
""
;
56
}
57
}
58
59
60
void
test()
61
{
62
const
string
eml
=
"
waker615@163.com
"
;
63
string
name, domain;
64
getMail(eml, name, domain);
65
cout
<<
name.c_str()
<<
"
@
"
<<
domain.c_str()
<<
endl;
66
}
67
68
int
main()
69
{
70
test();
71
return
0
;
72
}
posted on 2006-08-10 18:09
子弹のVISIONS
阅读(280)
评论(1)
编辑
收藏
引用
Feedback
#
re: [OPPD] Email 判断[未登录]
2007-05-10 18:48
galaxy
学习, 看出你对stl 理解不错
回复
更多评论
刷新评论列表
只有注册用户
登录
后才能发表评论。
【推荐】100%开源!大型工业跨平台软件C++源码提供,建模,组态!
网站导航:
博客园
IT新闻
BlogJava
知识库
博问
管理
Powered by:
C++博客
Copyright © 子弹のVISIONS