如何解决如何检查字符串中是否存在“ @”
我尝试使用If语句,但是仅当我仅在编辑中输入@时,才会显示该消息
var
sname,email : string ;
iAge,igrade : integer ;
iVal : string;
begin
ival := '@';
email := (edtEmail.Text);
if ival = email then
begin
Showmessage(' Email Address must contain @ ');
end;
解决方法
实际上,条件ival = email
是true
iff ival
和email
是相同的字符串。由于ival
是@
,因此如果email
恰好是@
,则条件为true。
您要检查是否在@
中找到email
。为此,可以使用Pos
函数,该函数返回字符串中第一次出现的子字符串的第一个字符的第一个字符的从1开始的索引,或者返回0
找不到子字符串在字符串中:
if Pos('@',email) = 0 then
ShowMessage('The email address must contain @.');
请注意,实际上并不需要任何变量来保存at字符。
在现代版本的Delphi中,最好编写
if not email.Contains('@') then
ShowMessage('The email address must contain @.');
使用TStringHelper.Contains
,因为它更易于阅读。
您可以使用Pos功能检查@字符是否可以位于电子邮件字符串中。
if Pos('@',email) = 0 then
begin
Showmessage(' Email Address must contain @ ');
end;
此处是有关在Delphi中验证电子邮件地址的文章
https://www.howtodothings.com/computers/a1169-validating-email-addresses-in-delphi.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。