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

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

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

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

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

 <?xml version="1.0" encoding="utf-8" ?><returnsms>
 <returnstatus>Success</returnstatus>
 <message>ok</message>
 <remainpoint>62095</remainpoint>
 <taskID>2779227</taskID>
 <successCounts>1</successCounts></returnsms>

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

02-09 15:16