如何实现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






相关文章
|
2月前
|
JavaScript 小程序 Java
基于Java的高校宣讲会管理系统设计与实现(亮点:选题新颖、功能实用、老师看见直接过!)
基于Java的高校宣讲会管理系统设计与实现(亮点:选题新颖、功能实用、老师看见直接过!)
16 0
|
2月前
|
前端开发 Java 数据库连接
JavaWeb:登录注册功能实现
JavaWeb 登录注册是一种常见的网站开发功能,使用 Java 编程语言和 Web 技术来实现用户注册和登录功能
26 3
|
3月前
|
安全 Java
Java反射-Class对象功能概述及反射案例
Java反射-Class对象功能概述及反射案例
29 1
|
2天前
|
Android开发
用Airtest快速实现手机文件读写与删除功能
用Airtest快速实现手机文件读写与删除功能
|
9天前
|
传感器 人工智能 监控
Java智慧工地管理云平台源码 带AI识别、桌面管理+大屏指挥+手机APP
智慧工地平台支持项目级、公司级、集团级多级权限划分,可根据企业的组织架构进行项目权限、功能权限、数据权限设定。
34 0
|
11天前
|
XML 存储 Java
[Java]小功能
[Java]小功能
36 0
[Java]小功能
|
24天前
|
canal Java
java字符串练习题7、验证回文串
java字符串练习题7、验证回文串
21 0
|
2月前
|
Java
用Java编写一个代码实现计算器功能
【1月更文挑战第17天】用Java编写一个代码实现计算器功能
16 0
|
2月前
|
Java Go C++
Golang每日一练(leetDay0112) 2、3、4的幂
Golang每日一练(leetDay0112) 2、3、4的幂
19 0
Golang每日一练(leetDay0112) 2、3、4的幂
|
2月前
|
算法 C++ Java
Java每日一练(20230504) 位1的个数、移除元素、验证二叉搜索树
Java每日一练(20230504) 位1的个数、移除元素、验证二叉搜索树
20 0
Java每日一练(20230504) 位1的个数、移除元素、验证二叉搜索树

相关产品

  • 云迁移中心