查看: 2323|回复: 0

[.NET开发] C#实现发送手机验证码功能

发表于 2018-2-9 08:00:00

之前不怎么了解这个,一直以为做起来很复杂。 直到前两天公司要求要做这个功能。 做了之后才发现 这不过就是一个POST请求就能实现的东西。现在给大家分享一下,有不足之处还请多多指教。 废话不多说 直接上代码。

1.先获取一个随机数字验证码(这里是6位数),然后编辑好需要发送的内容。 这里还做了个手机号码合法性的验证。

  1. public string VerificationCode(string mobile)
  2. {
  3. if (IsHandset(mobile))
  4. {
  5. string code = new Random().Next(111111, 999999).ToString();
  6. string content = "亲,本次操作的验证码为:" + code + " 切勿泄漏此验证码信息给他人,如非本人操作,请忽略此条信息。【唐江巴巴】";
  7. bool ret = SendFast(mobile, content);
  8. if (ret)
  9. {
  10. return code;
  11. }
  12. else
  13. {
  14. return "发送失败";
  15. }
  16. }
  17. else
  18. {
  19. return "手机号码格式不正确";
  20. }
  21. }
  22. /// <summary>
  23. /// 验证手机号码是否合法
  24. /// </summary>
  25. /// <param name="str_handset"></param>
  26. /// <returns></returns>
  27. public bool IsHandset(string str_handset)
  28. {
  29. return System.Text.RegularExpressions.Regex.IsMatch(str_handset, @"^1[3|4|5|7|8][0-9]\d{8}$");
  30. }
复制代码

2.然后调用发送消息的方法。传入地址和参数就OK了, 这里需要注意的是 要把发送的内容转换成字节。

3. 如果发送成功,返回的是一串XML数据,像这样的

  1. <?xml version="1.0" encoding="utf-8" ?><returnsms>
  2. <returnstatus>Success</returnstatus>
  3. <message>ok</message>
  4. <remainpoint>62095</remainpoint>
  5. <taskID>2779227</taskID>
  6. <successCounts>1</successCounts></returnsms>
复制代码

以上所述是小编给大家介绍的C#实现手机发送验证码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对程序员之家网站的支持!

您可能感兴趣的文章:

  • 12306奇葩验证码引发思考之C#实现验证码程序
  • C#实现的一款比较美观的验证码完整实例
  • C#代码实现短信验证码接口示例
  • C#验证码的创建与使用示例
  • C#验证身份证号码正确性的实例代码(收藏)
  • C# winform登陆框验证码的实现方法
  • 详解C#使用AD(Active Directory)验证内网用户名密码


回复

使用道具 举报