如何实现java手机短信验证功能

简介:
    现在基本每个网站或app用户注册页面都添加有手机短信验证功能,添加手机短信验证功能,能够有效的避免了非法注册和烂注册的情况,以及获取用户的有效联系方式,那么如何实现手机短信验证功能呢?下面就以java开发语言为例,详细为大家介绍下。

    一、实现手机短信验证功能的基本思路如下:

    1、首先找一家靠谱的短信验证码接口服务商,获取短信验证码调用地址,和相关接入文档。这里强烈建议大家选择动力思维乐信短信验证码接口服务商,一家专业提供短信应用服务14年的企业;

    2、在网站信息提交页面请求发送信息;

    3、服务器向动力思维乐信短信接口平台提交请求;

    4、动力思维乐信短信接口平台通过三大运营商将验证码内容发送到用户的手机中。

    二、手机号码短信验证前台页面效果实现


26e1d850b54569aadc0a4a76dd1ec6d361fab51b


    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" >
    <html xmlns>
    <head>
    <title></title>
    <script src="js/jquery-1.4a2.min.js" type="text/javascript"></script>
    <script type="text/javascript">
    /*-------------------------------------------*/
    var InterValObj; //timer变量,控制时间
    var count = 60; //间隔函数,1秒执行
    var curCount;//当前剩余秒数
    var code = ""; //验证码
    var codeLength = 6;//验证码长度
    function sendMessage() {
    curCount = count;
    var dealType; //验证方式
    tel = $(’#tel’).val();
    if(tel!=’’){
    //验证手机有效性
    var myreg = /^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1}))+\d{8})$/;
    if(!myreg.test($(’#tel’).val()))
    {
    alert(’请输入有效的手机号码!’);
    return false;
    }
    tel = $(’#tel’).val();
    //产生验证码
    for (var i = 0; i < codeLength; i++) {
    code += parseInt(Math.random() * 9).toString();
    }
    //设置button效果,开始计时
    $("#btnSendCode").attr("disabled", "true");
    $("#btnSendCode").val("请在" + curCount + "秒内输入验证码");
    InterValObj = window.setInterval(SetRemainTime, 1000); //启动计时器,1秒执行一次
    //向后台发送处理数据
    $.ajax({
    type: "POST", //用POST方式传输
    dataType: "text", //数据格式:JSON
    url: ’yanzhengma.do’, //方法路径(根据实际地址)
    data: "&tel=" + tel + "&code=" + code,
    error: function (XMLHttpRequest, textStatus, errorThrown) { },
    success: function (msg){ }
    });
    }else{
    alert(’请填写手机号码’);
    }
    }
    //timer处理函数
    function SetRemainTime() {
    if (curCount == 0) {
    window.clearInterval(InterValObj);//停止计时器
    $("#btnSendCode").removeAttr("disabled");//启用按钮
    $("#btnSendCode").val("重新发送验证码");
    code = ""; //清除验证码。如果不清除,过时间后,输入收到的验证码依然有效
    }
    else {
    curCount--;
    $("#btnSendCode").val("请在" + curCount + "秒内输入验证码");
    }
    }
    </script>
    </head>
    <body>
    <input name="tel" id=tel type="text" />
    <input id="btnSendCode" type="button" value="发送验证码" onclick="sendMessage()" /></p>
    </body>
    </html>

  三、在yanzhengma.do方法里调用接口方法

    /**
    * 调用短信服务器短信接口
    * @param accName 乐信账号用户名
    * @param accPwd 乐信账号密码
    * @param seed 当前时间 格式:YYYYMMDD HHMISS 例如:20130806102030
    * @param aimcodes 手机号多个手机号之间英文半角逗号隔开
    * @param content 内容后加签名
    * @param schTime 定时时间格式如:2010-01-01 08:00:00
    * @return 服务端返回的结果 ok:业务id 或者 错误代码
    */
    public static String sendSms(String accName,String accPwd,String mobies,String content,String schTime){
    StringBuffer sb = new StringBuffer("http://sdk.lx198.com/sdk/send2?");
    try {
    String seed=new SimpleDateFormat(dateFormatStr).format(new Date());
    sb.append("&accName="+accName);
    sb.append("&seed="+seed);
    sb.append("&accPwd="+MD5.getMd5String(MD5.getMd5String(accPwd)+seed));
    sb.append("&aimcodes="+mobies);
    sb.append("&schTime="+URLEncoder.encode(schTime,"UTF-8")); //空格标点符号做encode转换
    sb.append("&content="+URLEncoder.encode(content,"UTF-8")); //中文做encode转换
    URL url = new URL(sb.toString());
    HttpURLConnection connection = (HttpURLConnection) url.openConnection();
    connection.setRequestMethod("POST");
    BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
    return in.readLine();
    } catch (Exception e) {
    e.printStackTrace();
    }
    return null;
    }

    四、提交表单信息时对短信验证码验证

           //手机验证码开始


  session_start();

  $svalitel = $_SESSION[’mobilecode’];

  $vdcodetel = empty($vdcodetel) ? ’’ : strtolower(trim($vdcodetel));

  

  if(strtolower($vdcodetel)!=$svalitel || $svalitel==’’)

  {

  ResetVdValue();

  //echo "Pageviews=".$vdcodetel;

  ShowMsg("手机验证码错误!", ’-1’);

  exit();

  }
   

    相关阅读:

    乐信短信验证接口接入指南:http://www.lx598.com/jrzn.html
    乐信短信验证接口API文档:http://www.lx598.com/apitext.html
    乐信短信验证接口java demo:http://www.lx598.com/javaCode.html


    本文来源:http://www.lx598.com/hangyedongtai/990.html






相关文章
|
29天前
|
运维 监控 JavaScript
JAVA村卫生室、诊所云HIS系统源码 支持医保功能
运维运营分系统 1、系统运维:环境管理、应用管理、菜单管理、接口管理、任务管理、配置管理 2、综合监管:统计监管的医疗机构的综合信息,包括医疗业务量、人员配备量、支付分类占比等。 3、系统运营:机构管理、药品目录管理、用户管理、角色管理、字典管理、模板管理、消息管理、运营配置、售后服务、外部系统。
28 0
|
1月前
|
存储 canal 算法
[Java·算法·简单] LeetCode 125. 验证回文串 详细解读
[Java·算法·简单] LeetCode 125. 验证回文串 详细解读
23 0
|
1月前
|
安全 Java 数据库连接
【Java每日一题】——第四十四题:综合案例:编程模拟智能手机和普通手机功能。
【Java每日一题】——第四十四题:综合案例:编程模拟智能手机和普通手机功能。
39 0
|
24天前
|
JavaScript Java
java生成验证码并进行验证
java生成验证码并进行验证
22 2
|
28天前
|
JSON 前端开发 Java
|
1月前
|
存储 Java API
Java统计功能
Java统计功能
13 0
|
1月前
|
存储 搜索推荐 Java
Java筛选功能的秘密
Java筛选功能的秘密
12 0
|
1月前
|
存储 算法 安全
Java代码能实现这些隐藏的加密功能
Java代码能实现这些隐藏的加密功能
57 0
|
1月前
|
Java
Java代码打造直播互动功能
Java代码打造直播互动功能
11 1
|
1月前
|
Java 关系型数据库 MySQL
Java调用shell脚本实现数据库备份功能
本篇文章主要介绍怎样使用Java程序,执行服务器上的数据库备份Shell脚本进行MySQL数据库的备份功能。

热门文章

最新文章