1. 程式人生 > >《在網頁中實現手機驗證碼登陸程式碼》

《在網頁中實現手機驗證碼登陸程式碼》

JavaScript程式碼如下:

// 0 入口函式
$(function(){

	// 1、點選獲取驗證碼,請求介面,發給使用者驗證碼
	$('#getNum').on('click',function(){
		// 2、獲取使用者的手機號
		var phoneNum = $('.Rusername').val();
		// console.log(phoneNum)
		// 2.7 要符合手機號的標準才能向用戶的手機號傳送驗證碼
		var regex = new RegExp($('.Rusername').attr('regex'));
		if(!regex.test($('.Rusername').val())){
			alert("請輸入正確手機號");
		}else{
			// 2.4 呼叫傳送簡訊驗證碼的介面
			check(phoneNum,tpl_val);
			count($(this));
			// 2.4.1 把#code#=431515 進行擷取字元,最終拿到發給使用者的驗證碼
		 	var tpl_value = decodeURIComponent(tpl_val);
		 	// console.log(tpl_value);
		 	chenkNum = tpl_value.slice(7);
		 	console.log(chenkNum); // 這個就是發給使用者的驗證碼
		}
		
	});

	// 2.1 根據介面文件,封裝函式
	function check(mobile,tpl_value){
		$.ajax({
			type:'get',
			// url:'http://v.juhe.cn/sms/send?mobile=手機號碼&tpl_id=簡訊模板ID&tpl_value=%23code%23%3D654654&key=',
			url:'http://v.juhe.cn/sms/send',
			data:{
				mobile:mobile,
				tpl_id:888,
				tpl_value:tpl_value,
				key:'648a729c43b06d59c0362850587bca'
			},
			dataType:"jsonp",
			jsonp:"callback",
			success:function(data){
				console.log(data) // {reason: "操作成功", result: {…}, error_code: 0}
				// 2.5 使用者輸入驗證碼,點選登入
				// 點選登入
				$('.goRegister').on('click',function(){
					console.log(1111)
						// 2.5.1 如果驗證碼傳送成功,對驗證碼進行成功匹配,否則提示使用者錯誤資訊
						if(data.error_code === 0){
							// 2.5.2 如果傳送的驗證碼和使用者輸入的驗證碼一致,就登入成功,否則提示使用者驗證不正確
							if(chenkNum === $('.phone').val()){
								alert("登入成功");
								// 進入到網站中
								window.location = 'https://www.boxuegu.com/';
							}else{
								alert("您輸入的驗證碼有誤,請輸入正確的驗證碼");
							}
						}else{
							// 否則提示使用者錯誤資訊
							alert(data.reason);
						}
				});
				
			}
		})
	}
	// 2.2 封裝生成隨機的6位數的函式
	function mathRan(){
		var num = '';
		for(var i = 0; i < 6; i++){
			num += Math.floor(Math.random() * 10);
		}
		return num;
	}

	var mathNum = mathRan();
	// console.log(mathNum); // 455969

	// 2.3 根據介面文件,對驗證碼進行轉換urlencode形式
	var tpl_val = encodeURIComponent('#code#='+ mathNum);
	// console.log(tpl_val); // %23code%23%3D313395
	
	// 2.6 封裝倒計時函式
	var countNum = 60;
	function count(elm){
		if(countNum == 0){
			elm.attr('disabled',false);
			elm.val('獲取驗證碼');
			countNum = 60;
			return;
		}else{
			elm.attr('disabled',true);
			elm.val('重新發送('+ countNum + 's)');
			countNum--;
		}

		setTimeout(function(){
			count(elm)
		},1000)
	}
	
}); // 入口函式

簡訊模板可以去相關資料網站申請,作者這裡用到的是來自聚合資料(https://www.juhe.cn/)的簡訊模板。

HTML程式碼如下:

<div id="loginBox">
    		<div class="login-changeTab">
        		<div class="login-register-box">
            		<div class="login-register clearfix">
                		<div class="register-button" align="center">簡訊驗證碼登入</div>
            		</div>
            		<div class="register-content">
                		<div class="registerUsernameBox">
                    		<input type="tel" class="Rusername"  maxlength="11" placeholder="請輸入手機號" regex="^[1][3,4,5,7,8][0-9]{9}$"/>
                    		<span></span>
                		</div>
                		<div class="registerPassword">
                    		<input type="number" class="phone" maxlength="6" placeholder="請輸機驗證碼"/>
                    		<br />
							<input type="button" id="getNum" value="獲取驗證碼">
                    		<span></span>
                		</div>
                		<div class="goRegister">登入</div>
            		</div>
        		</div>
    		</div>
		</div>

CSS程式碼如下;

.register-button{
	background-color: lightskyblue;
	width: 166px;
}
#getNum{
	width: 166px;
}
.goRegister{
	background-color: lightskyblue;
	width: 166px;
	text-align: center;
}
#loginBox{
	float: left;
}

相關推薦

《在網頁實現手機驗證登陸程式碼

JavaScript程式碼如下: // 0 入口函式 $(function(){ // 1、點選獲取驗證碼,請求介面,發給使用者驗證碼 $('#getNum').on('click',function(){ // 2、獲取使用者的手機號 var phoneNu

註冊/找回密碼等功能傳送手機驗證後倒計時效果的實現(基於vue)

註冊/找回密碼等功能中傳送手機驗證碼後倒計時效果的實現,基於vue、element-ui<template> <el-button size="small" type="prima

java實現手機驗證功能

java實現給手機發送驗證碼,是需要平臺的支援的這裡我使用的是http://user.ihuyi.com/互億的簡訊服務 大家可以註冊一個賬號http://user.ihuyi.com/register.htmls這裡是比較簡單的實現大家可以根據自己的需求自行編寫 import org.a

原生 JS 實現手機驗證倒計時

可以使用 pointer-events 來阻止元素成為滑鼠事件的 target。html5 新增操作元素 class 類名的方式 classList。 classList 方法 add(value):在元素中新增一個或多個類名。如果值已經存在,就不添加了。 contains(value): 返回

springSecurity的學習筆記--使用spring-Security完成表單登陸手機驗證登陸,第三方登陸

    環境搭建好後,之後的練習進入了一個十分痛苦的階段!! 但是與此同時,收穫也是比較可觀的。 老師通過詳細的視訊講解,完成了表單登陸,包括賬號密碼和驗證碼登陸,手機驗證碼登陸,第三方登陸。 每一個部分都進行了開發步驟說明,思路引領,以及程式碼重構!!!   

Spring Security 實現圖片驗證登陸(一)

生成圖形驗證碼 根據隨機數生成圖片 將隨機數存到session中 在將生成的圖片寫到介面的響應中 在收到服務請求之後 根據隨機數生成圖片 ,然後把隨機數存入到session中,在提交表單的時候從

js實現手機驗證傳送

1.通過ajax手機驗證碼傳送例項 2.為了方便用了jquery需要測試時請先匯入jquery包 html部分程式碼 <!DOCTYPE html> <html lang="en"> <head> <meta charset="

ajax + 簡訊寶 實現手機驗證

最近在開發一個登入模組,需要用到簡訊驗證碼功能,由於技術有限,簡單做了一個比較粗糙的,寫下來備忘。需要用到:Jq-ajax、php、簡訊寶 HTML部分: <div class="login"> <div class="logi

Servlet實現驗證登陸功能Demo

“紙上得來終覺淺”,動手比看書印象更深,學到的更多。下面用Servlet實現簡單的登陸功能,來鞏固對Servlet的學習。 1、在WEB-INF下新建一個名為index.html作為登陸介面。 index.html程式碼如下: <!DOCTYPE html>

js實現手機驗證傳送倒計時60秒無視頁面重新整理

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%> <%@ page isELIgnored="false"%> <!doc

c#實現傳送手機驗證

【.aspx.cs】 string shouji = ""; string templateid = "181ed0353b8341808620a1ed871793b5"; shouji = gelian.Value.Trim(); string yzm = IdentifyingCode.GenCod

一步一步實現web程式資訊管理系統之三----登陸業務邏輯實現驗證功能+引數獲取)

本篇緊接著上一篇文章[一步一步實現web程式資訊管理系統之二----後臺框架實現跳轉登陸頁面] 驗證碼功能 一般驗證碼功能實現方式為,前端介面訪問一個url請求,後端服務程式碼生成一個圖片流返回至瀏覽器,瀏覽器通過img標籤來展示圖片資訊,其流程模式如下所示: 前端介面 前端介面需

Laravel實現小程式使用openid登陸、手機號驗證登陸、賬戶密碼登陸三種登陸方式

目前開發小程式,按需求要實現3種登陸方式: 1、微信授權登陸 2、賬戶密碼登陸 3、手機號、驗證碼登陸 我使用laravel自帶的Auth認證機制,通過attempt方法進行賬戶驗證,但是預設的認證機制必須包含password欄位,而我的第1、3種登陸方式都沒有

asp.netashx生成驗證程式碼放在Linux(centos)主機上訪問時無法顯示問題

最近有個專案加入了驗證碼功能,就從自己部落格以前的程式碼中找到直接使用,直接訪問驗證碼頁面報錯如下: Application Exception System.ArgumentException The requested FontFamily could not be found [GDI+

【MarketAnalysis總結】6.0利用SMS的API實現傳送手機驗證

本專案的需求之一是對每一個下載的檔案,都進行了加密處理,故而產生另一個需求是要將使用者下載的檔案的密碼傳送到使用者的手機上。這裡的實現我採用了中國網建網SMS的一個API介面,下面來說明如何實現,其實很簡單~。傳送簡訊的流程圖如圖6.1,圖6.1 傳送簡訊的實現流程圖主要過程

javascript的提交後臺手機驗證和後臺郵箱的介面

function gettokenMobile(mydata,mytype) { //封裝newdata var newdata = { 'mobile': mytype, '

ASP.NET怎樣實現圖片驗證功能,並且點選圖片會重新整理

------ 基本思路: 圖片的src=後臺的一個函式,此函式返回按照一定規則生成的圖片檔案流。 然後此圖片即可生成。 那麼怎樣重新整理驗證碼呢,這是個問題。 因為給圖片的src賦了值之後,想要更換一個圖片,那麼src的那個函式必須再執行一次才行。 <img src=

取redis手機驗證,並驗證是否正確

controller: /** * 校驗驗證碼是否正確 * @param smsCode * @param phone */ @RequestMapping(value = "checkSmsCode",method = RequestMethod.POST) public Result

java調介面實現傳送手機簡訊驗證功能,手機驗證,介面呼叫

近來由於專案需要,需要用到手機簡訊驗證碼的功能,其中最主要的是用到了第三方提供的簡訊平臺介面WebService客戶端介面,下面我把我在專案中用到的記錄一下,以便給大家提供個思路,由於本人的文采有限,還請大家見諒! 一:首先上幾張案例截圖,以便大家可以瞭

[原創]用JavaScript在網頁實現文字框

    在網頁中輸日期、時間、IP地址等需要一定的格式限制,否則將會程式將會很難和程式溝痛。    最近在做一個程式正好需要用到此方面,在網上找到過相應的程式,但用起來都非常惡,於是乎只好自己實現一個了。    首先實現兩個函式用來操作游標:        // 得到一個文字