短信验证码接口开发代码

Posted qifei-2018

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了短信验证码接口开发代码相关的知识,希望对你有一定的参考价值。

    现在不管是网站或app都需要调用短信验证码接口实现短信验证功能,前段时间实现网站注册功能时需要用户获取短信验证码,验证手机方能注册,具体的代码如下:

    这里先说明一下,调用的短信验证码接口是第三方短信服务商动力思维乐信的,具体有关接口的说明可以参考下乐信短信接口API文档:http://www.lx598.com/apitext.html

    手机号码短信验证前台页面效果

技术分享图片

前端代码实现:

<!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();

  }

 




以上是关于短信验证码接口开发代码的主要内容,如果未能解决你的问题,请参考以下文章

jmeter怎么测试有验证码的接口

Web项目中手机注册短信验证码实现的全流程及代码

JAVA代码,接口示例

源码分享php怎样接入短信验证码,对接短信验证码接口

Python短信接口demo:创蓝253短信验证码接口短信营销接口

各大APP注册时发送短信验证码是怎么实现的?