簡單實現手機號驗證碼註冊功能
jsp部分:是一個普通的<input>標籤
<input type="tel" name="unumber"
id="phone" placeholder="請輸入手機號" >
<input type="tel"
name="input_code" id="code" placeholder="請輸入驗證碼" >
<input type="button"
style=" border-radius: 5px;width: 100%; height: 100%; text-align: center; padding-left: 2px"
id="getCode" value="獲取" onclick="sendCode(this)" >
js部分:
// 點選獲取,進入倒計時,按序號進行
clock = ''; nums = 60; btn = null; function time(thisBtn) {//③time()函式處理“獲取”按鈕 btn = thisBtn; btn.disabled = true; // 將按鈕置為不可點選 btn.value = nums + '秒後可重新獲取';//讓按鈕顯示倒計時 clock = setInterval(doLoop, 1000); // ④setInterval(arg1,arg2)為定時器,arg1為執行哪個函式,arg2為多久執行一次(單位毫秒), } function doLoop() { nums--; if (nums > 0) { btn.value = nums + '秒後可重新獲取'; } else {//如果倒數計時結束,就清除定時器,將按鈕狀態改為可點選,並將按鈕值顯示為“重新發送”,最後重置倒計時時間60秒。 clearInterval(clock); // 清除js定時器 btn.disabled = false; btn.value = '重新發送驗證碼'; nums = 60; // 重置時間 } } function sendCode(ele)後臺java程式碼:
// 向用戶手機號傳送驗證碼,並儲存在session域中,方便進行驗證此驗證碼是否輸入正確。
public void send(HttpServletRequest request, HttpServletResponse response) {
String phone = request.getParameter("phone");
try {
String code = SendMessage.sendMess(phone) ;//此處為自己封裝的sendMess()方法,獲取驗證碼,見下面。
request.getSession().setAttribute("code", code);
} catch (Exception e1) {
// TODO Auto-generated catch block
try {
response.getWriter().write("傳送失敗了");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
try {
response.getWriter().write("傳送成功");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//此處用的是網易雲簡訊服務,本段程式碼可直接拷貝使用,需更改相應賬號、祕鑰、以及簡訊id,也可自行參考網易雲簡訊開發手冊。
public class SendMessage {
//傳送驗證碼的請求路徑URL
private static final String
SERVER_URL="https://api.netease.im/sms/sendcode.action";
//網易雲信分配的賬號,請替換你在管理後臺應用下申請的Appkey
private static final String
APP_KEY="545ab725fbfe94fa3585bf24ba18a889";
//網易雲信分配的金鑰,請替換你在管理後臺應用下申請的appSecret
private static final String APP_SECRET="5862f3168049";
//隨機數
private static final String NONCE="123456";
//簡訊模板ID
private static final String TEMPLATEID="3094133";
//手機號
//private static final String MOBILE="13812186059";
//驗證碼長度,範圍4~10,預設為4
private static final String CODELEN="4";
public static String sendMess(String phone) throws Exception {
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(SERVER_URL);
String curTime = String.valueOf((new Date()).getTime() / 1000L);
/*
* 參考計算CheckSum的java程式碼,在上述文件的引數列表中,有CheckSum的計算文件示例
*/
String checkSum = CheckSumBuilder.getCheckSum(APP_SECRET, NONCE, curTime);
// 設定請求的header
httpPost.addHeader("AppKey", APP_KEY);
httpPost.addHeader("Nonce", NONCE);
httpPost.addHeader("CurTime", curTime);
httpPost.addHeader("CheckSum", checkSum);
httpPost.addHeader("Content-Type", "application/x-www-form-urlencoded;charset=utf-8");
// 設定請求的的引數,requestBody引數
List<NameValuePair> nvps = new ArrayList<NameValuePair>();
/*
* 1.如果是模板簡訊,請注意引數mobile是有s的,詳細引數配置請參考“傳送模板簡訊文件”
* 2.引數格式是jsonArray的格式,例如 "['13888888888','13666666666']"
* 3.params是根據你模板裡面有幾個引數,那裡面的引數也是jsonArray格式
*/
nvps.add(new BasicNameValuePair("templateid", TEMPLATEID));
nvps.add(new BasicNameValuePair("mobile", phone));
nvps.add(new BasicNameValuePair("codeLen", CODELEN));
httpPost.setEntity(new UrlEncodedFormEntity(nvps, "utf-8"));
// 執行請求
HttpResponse response = httpClient.execute(httpPost);
/*
* 1.列印執行結果,列印結果一般會200、315、403、404、413、414、500
* 2.具體的code有問題的可以參考官網的Code狀態表
*
*
* {"code":200,"msg":"1","obj":"8588"}
*/
String result = EntityUtils.toString(response.getEntity(), "utf-8");
//將輸出結果進行解析,獲取傳送出去的驗證碼,例如上述中的“8588”。
String[] results = result.split(":");
String _result =results[3].substring(1, 5);
return _result;
}
}
相關推薦
簡單實現手機號驗證碼註冊功能
jsp部分:是一個普通的<input>標籤 <input type="tel" name="unumber" id="phone" placeholder="請輸入手機號" > <input type="tel" name="input_
簡單實現手機號銀行卡的同步顯示功能
簡單實現手機號銀行卡的同步顯示功能 這是某盟的一道面試題 難道不都是隻要有了清晰的思路後邊寫邊優化麼 當時我就說了思路用計算屬性根據輸入框的內容計算出預覽框的值 處理focus和blur事件即可 非要手寫,手寫根本寫不出啊,然後面試官就認為我不會 無語了 要求如下 輸入框輸入內容資料長度大於0,展
Laravel實現小程式使用openid登陸、手機號驗證碼登陸、賬戶密碼登陸三種登陸方式
目前開發小程式,按需求要實現3種登陸方式: 1、微信授權登陸 2、賬戶密碼登陸 3、手機號、驗證碼登陸 我使用laravel自帶的Auth認證機制,通過attempt方法進行賬戶驗證,但是預設的認證機制必須包含password欄位,而我的第1、3種登陸方式都沒有
Servlet實現一個簡單的登入【驗證碼】功能
Servlet實現一個簡單的登入【驗證碼】功能 開發工具 主要用的開發工具為 MyEclipse(2014、2016均可)、Tomcat 6.0以上、瀏覽器等。 開發環境 開發環境為windows系統,已安裝配置Java最新版開發環境。 主要功
【原始碼分享】java實現對接簡訊驗證碼應用功能
今天公司提出一個需求,要在現有專案上收集註冊使用者的真實手機號,由於之前沒有接觸過這一塊,只能尋求度孃的幫助,經過一天的努力,終於完成了,現整理記錄下已備查閱。 1 解決方案:在註冊時要求使用者進行手機驗證。2 尋找簡訊供應商:由於對這一塊不是太懂,大學同學推薦一家他們公司在用的給我。3 程式碼實現 首先到
登入之手機號驗證碼登入
今天測試雲之訊api 雲之訊官網提供原始碼只需要修改就好我的是放入tp5路徑如下:前端程式碼腦補 只有一個input和按鈕直接上程式碼index.php<?php namespace app\admin\controller; use think\Db; use thi
Python3版本Django實現免費手機驗證碼註冊
Demo程式碼已放上GitHub,實現登入簡訊校驗+極驗驗證 開啟網站互億無線註冊一個賬號,有50條免費簡訊 登入進去後會有以下頁面 使用圖中的APIID和APIKEY開啟你的免費手機
使用者手機號獲取驗證碼註冊原始碼分享
叮~ 你的原始碼分享純乾貨到了, 請注意查收! 使用者手機號註冊原始碼分享,首頁獲取驗證碼,呼叫阿里大魚簡訊驗證碼,介面thinkphp5.2寫的,可以判斷手機號是否註冊,簡訊傳送是否成功。 <!DOCTYPE html> <html>  
APICloud知識教程 | 使用者手機號獲取驗證碼註冊原始碼分享
分享自:APICloud官方論壇 作者:論壇版主【funy】 使用者手機號註冊原始碼分享,首頁獲取驗證碼,呼叫阿里大魚簡訊驗證碼,介面thinkphp5.2寫的,可以判斷手機號是否註冊,簡訊傳送是否成功。 <!DOC
layui自定義驗證規則 實現傳送非同步請求校驗手機號是否已註冊
//自定義驗證規則 form.verify({ name: function(value, item){//value:表單的值、item:表單的DOM物件 if(!new RegExp(’1+′).t
Android 基於bmob平臺的手機登入驗證碼註冊 等功能實現
首先是基於Bmob 平臺,採用MVP 開發模式。效果見圖: 下面一 一給出原始碼: MVP 目錄結構:
實現輸入驗證碼的功能
有關 operation password 登陸 註冊 def you != 思路 實驗題目: 實驗思路: 首先對java的圖形界面設計和時間處理這兩方面的內容熟悉掌握,一步一步編出各個框 進行輸入 ,調位置,運用事件處理的相關知識進行按鈕的選擇,運
JAVA實現郵件驗證(註冊功能中使用)
原始碼: 連結:https://pan.baidu.com/s/1iSRybqDdzYU8apEs1OtQBw 提取碼:q0gb 易郵 and foxmail 連結:https://pan.baidu.com/s/1woOxn-UjmoALCQDjFuGAQQ&n
【短信插件】微贊微信管理系統如何實現短信驗證碼功能
fun ctr 管理系 code 聲明 修改 如何 .net 短信 找到了一家不錯的短信插件,有需要對接的可以查看學習,在這邊分享一下,有需要的可以詳細看看,了解一下。http://www.ihuyi.com/插件說明本插件系互億無線針對微贊管理系統短信插件開發,請按以下說
【原始碼分享】簡訊如何實現ECmall_V2.3驗證碼功能
對接簡訊的時候發現一家簡訊公司,有些不錯的簡訊驗證碼的外掛,對接起來挺方便的,有需求的可以看一下。http://www.ihuyi.com/ 外掛說明本外掛系互億無線針對ECmall_V2.3簡訊外掛開發,外掛內的所有檔案均為對原檔案的修改,如果你的系統經過二次開發,安裝本外掛之前,請仔細核對修改。 功能
【源碼分享】短信如何實現ECmall_V2.3驗證碼功能
說明 管理 處理 用戶註冊 手機號 方便 功能介紹 發現 源碼 對接短信的時候發現一家短信公司,有些不錯的短信驗證碼的插件,對接起來挺方便的,有需求的可以看一下。http://www.ihuyi.com/ 插件說明本插件系互億無線針對ECmall_V2.3短信插件開發,插件
【源碼分享】POSCMS功能如何實現短信驗證碼
linu 註冊驗證 驗證 說明 環境 用戶註冊 安裝步驟 2.0 開啟 對接短信的時候發現一家短信公司,有些不錯的短信驗證碼的插件,對接起來挺方便的,有需求的可以看一下。http://www.ihuyi.com/ 插件說明 本插件系互億無線針對POSCMS V3.2.0 短
在servlet中實現驗證碼的功能
1:使用的工具 myeclipse2015 jdk1.8 tomcat8.0 2:目錄結構 3:原始碼 index.jsp <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%&
java 實現傳送簡訊驗證碼功能
如何使用java + maven的專案環境傳送簡訊驗證碼,本文使用的是榛子云簡訊 的介面。 1. 安裝sdk 下載地址: http://smsow.zhenzikj.com/doc/sdk.html 下載下來是jar檔案,需要將jar釋出到本地的maven倉庫中, 在c
使用者名稱、密碼、手機號驗證,驗證碼獲取,勾選協議
<script type="text/javascript"> function CheckLogin(obj){ if(obj.username.value=='') { alert('請輸入使用者名稱'); ob