两道算法问题不会

virfriend 2005-06-16 09:50:19
比如你的程序需要用户输入电子邮件信息,在将信息保存之前,需要对他进行验证,是否合法,这里建个简单的电子邮件验证程序;
1.对电子邮件信息的@字符的验证
a.存在@字符。
b.只允许有一个字符。
c.@字符只允许放在中间的某一位置上。
2.对电子邮件的用户名部分的验证
a.不允许小于三个字符。
b.不允许出现逗号。
c.数字不能在用户开头。
...全文
118 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
Ivony 2005-06-16
  • 打赏
  • 举报
回复
只问你一句,你是用C#吗?如果是,你就可以用.NET Framework而不需要自己写算法实现。
virfriend 2005-06-16
  • 打赏
  • 举报
回复
我是做的控制台应用程序中用算法实现,不是用ASP.NET做,要是那样的话我还用发贴子吗?
killua820812 2005-06-16
  • 打赏
  • 举报
回复
强烈推荐正则,现成的例子网上一堆,没有必要自己再写算法了
Ivony 2005-06-16
  • 打赏
  • 举报
回复
浪费时间,这种问题早就已经有正则表达式这个标准来解决,正则表达式可以做比这复杂得多的验证。又何必再自己去研究这种问题的算法呢,重造轮子而已。。。。如果真的想了解,不如就去看看正则表达式的算法。。。。
forpromise 2005-06-16
  • 打赏
  • 举报
回复
下列程序代码片段限制使用者输入的电子邮件信箱,必须是包含「@」:

<ASP:RegularExpressionValidator Id="Validor1" Runat="Server"
ControlToValidate="txtEmail"
ValidationExpression=".+@.+"
Text="错误!"/>


下列范例限制使用者输入的账号,必需要以英文字母为开头,而且最少要输入四个字符,最多可
输入八个字符:
<ASP:RegularExpressionValidator Id="Validor1" Runat="Server"
ControlToValidate="txtId"
ValidationExpression="[a-zA-Z]{4,8}"
Text="错误!"/>

把上面两个例子结合起来就是你需要的东西了
上面关于ValidationExpression具体的验证规则还有很多,如果你需要详细的,你给我发个电子邮件或者发消息给我吧
forpromise@126.com
virfriend 2005-06-16
  • 打赏
  • 举报
回复
我想做控制台应用程序,在C#中,用算法怎么实现.就是写两个方法来实现验证
zhongwanli 2005-06-16
  • 打赏
  • 举报
回复
看了。
builder666666 2005-06-16
  • 打赏
  • 举报
回复
1。对@的验证
算发如下:
string str = textEmail.Text//先获得电子邮件的字符串例如:textEmail.Text="xxx@china.com"
int pos = str.IndexOf("@");
if(pos == -1)
{
Console.WriteLine(" 有多个@字符。");
return;
}
int pos2 = str.IndexOf("@",pos+1);
if(pos2 != -1)
{
Console.WriteLine(" 不存在@字符。");
return;

}
if(pos == 0 || pos == str.Length-1 )
{
Console.WriteLine(" @字符不再中间。");
return;

}

2.根据上面pos的值对用户名部分的验证
str = str.Substring(0,pos+1);
if(str.Length < 3)
{ Console.WriteLine(" 小于3字符。");

return ;
}
if(str.IndexOf(",") != -1)
{
Console.WriteLine(" 有逗号。");

}
if(str[0] >= '0' && str[0] <='9')
{
Console.WriteLine("have numhber");l
return;
}
张赐 2005-06-16
  • 打赏
  • 举报
回复
<asp:RegularExpressionValidator Runat="Server" ControlToValidate="email"
ValidationExpression=".{1,}@.{3,}" ErrorMessage="电子邮件地址有错误!"/>
张赐 2005-06-16
  • 打赏
  • 举报
回复
用正则表达式:
.{1,}@.{3,}
Jamestan 2005-06-16
  • 打赏
  • 举报
回复
用正则表达式,不牵涉算法。

网上很多现成的mail验证......
daishengs 2005-06-16
  • 打赏
  • 举报
回复
用正则表达式吧,应该可以解决的

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧