分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 技术分享

java实现发送短信验证功能

发布时间:2023-09-06 01:40责任编辑:郭大石关键词:暂无标签
    现在基本每个网站或app用户注册页面都添加有手机短信验证功能,添加手机短信验证功能,能够有效的避免了非法注册和烂注册的情况,以及获取用户的有效联系方式,那么如何实现手机短信验证功能呢?下面就以java开发语言为例,详细为大家介绍下。

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

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

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

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

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

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


  <!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

java实现发送短信验证功能

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved