C#实现手机发送验证码

之前不怎么了解这个,一直以为做起来很复杂。 直到前两天公司要求要做这个功能。 做了之后才发现 这不过就是一个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}$");
        }
Code

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>

这样就完成了, 希望对你们有帮助。

 

posted @ 2017-06-28 15:57  华仔_TH  阅读(5666)  评论(0编辑  收藏  举报