本文共 3336 字,大约阅读时间需要 11 分钟。
现在基本每个网站或app用户注册页面都添加有手机短信验证功能,添加手机短信验证功能,能够有效的避免了非法注册和烂注册的情况,以及获取用户的有效联系方式,那么如何实现手机短信验证功能呢?下面就以java开发语言为例,详细为大家介绍下。
一、实现手机短信验证功能的基本思路如下:
1、首先找一家靠谱的短信验证码接口服务商,获取短信验证码调用地址,和相关接入文档。这里强烈建议大家选择思锐云乐信短信验证码接口服务商,一家专业提供短信应用服务14年的企业;
2、在网站信息提交页面请求发送信息;
3、服务器向思锐云乐信短信接口平台提交请求;
4、思锐云乐信短信接口平台通过三大运营商将验证码内容发送到用户的手机中。
二、手机号码短信验证前台页面效果实现
!DOCTYPEhtmlPUBLIC-//W3C//DTDXHTML1.0Transitional//EN htmlxmlns head title/title scriptsrc=js/jquery-1.4a2.min.jstype=text/javascript/script scripttype=text/javascript /*-------------------------------------------*/ varInterValObj;//timer变量,控制时间 varcount=60;//间隔函数,1秒执行 varcurCount;//当前剩余秒数 varcode=;//验证码 varcodeLength=6;//验证码长度 functionsendMessage(){ curCount=count; vardealType;//验证方式 tel=$(#tel).val(); if(tel!=){ //验证手机有效性 varmyreg=/^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1}))+d{8})$/; if(!myreg.test($(#tel).val())) { alert(请输入有效的手机号码!); returnfalse; } tel=$(#tel).val(); //产生验证码 for(vari=0;icodeLength;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处理函数 functionSetRemainTime(){ if(curCount==0){ window.clearInterval(InterValObj);//停止计时器 $(#btnSendCode).removeAttr(disabled);//启用按钮 $(#btnSendCode).val(重新发送验证码); code=;//清除验证码。如果不清除,过时间后,输入收到的验证码依然有效 } else{ curCount--; $(#btnSendCode).val(请在+curCount+秒内输入验证码); } } /script /head body inputname=telid=teltype=text/ inputid=btnSendCodetype=buttonvalue=发送验证码οnclick=sendMessage()//p /body /html
三、在yanzhengma.do方法里调用接口方法/***调用短信服务器短信接口*@paramaccName乐信账号用户名*@paramaccPwd乐信账号密码*@paramseed当前时间格式:YYYYMMDDHHMISS例如:20130806102030*@paramaimcodes手机号多个手机号之间英文半角逗号隔开*@paramcontent内容后加签名*@paramschTime定时时间格式如:2010-01-0108:00:00*@return服务端返回的结果ok:业务id或者错误代码*/publicstaticStringsendSms(StringaccName,StringaccPwd,Stringmobies,Stringcontent,StringschTime){StringBuffersb=newStringBuffer(http://sdk.lx198.com/sdk/send2?);try{Stringseed=newSimpleDateFormat(dateFormatStr).format(newDate());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转换URLurl=newURL(sb.toString());HttpURLConnectionconnection=(HttpURLConnection)url.openConnection();connection.setRequestMethod(POST);BufferedReaderin=newBufferedReader(newInputStreamReader(url.openStream()));returnin.readLine();}catch(Exceptione){e.printStackTrace();}returnnull;}
四、提交表单信息时对短信验证码验证
//手机验证码开始session_start(); $svalitel=$_SESSION[mobilecode]; $vdcodetel=empty($vdcodetel)?:strtolower(trim($vdcodetel)); if(strtolower($vdcodetel)!=$svalitel||$svalitel==) { ResetVdValue(); //echoPageviews=.$vdcodetel; ShowMsg(手机验证码错误!,-1); exit(); }
相关阅读:
乐信短信验证接口接入指南:/uploads/allimg/181025/100932D58-1.jpg
乐信短信验证接口API文档:/uploads/allimg/181025/100932OE-2.jpg
乐信短信验证接口java demo:/uploads/allimg/181025/100932K25-3.jpg
转载地址:http://hqjdv.baihongyu.com/