网页抓取手机号(web网页中,用户的一些行为,例如注册,修改密码)

优采云 发布时间: 2021-09-26 22:04

  网页抓取手机号(web网页中,用户的一些行为,例如注册,修改密码)

  在网页中,一些用户行为,如注册、登录、支付、修改密码等,需要网站通过手机验证码确认其行为身份,以确保用户账号和网站 自己的安全。

  一.简介

  网页中的验证码一般是通过点击获取。在实现页面获取手机验证码按钮时,需要考虑以下几点:

  这里我们主要实现前两个效果。

  需要使用cookies来保证网页刷新后验证码倒计时不被清除。为避免篇幅过长,内容杂乱,不再赘述。

  二.实现

  该按钮可以通过以下两种方式实现获取验证码:

  当手机号码输入格式正确时,按钮处于可点击状态。按钮一直处于可点击状态,但是当手机号码格式错误时,用户点击后会提示错误,不会向服务器发送请求。

  虽然这两种方法的代码可能不同,但基本原理是相同的。这里我们只用第一种方法来说明。

  一般验证码页面的HTML结构类似如下:

  

请输入手机号:

验证码:

  页面如图:

  

  输入正确格式的手机号码后,点击获取验证码按钮即可取消禁用状态。

  点击后按钮再次进入禁用状态并开始倒计时。倒计时完成后,再次进入可点击状态。

  具体实现过程比较简单。代码如下:

  $(document).ready(function(){

var ordertime=20 //设置再次发送验证码等待时间

var timeleft=ordertime

var btn=$(".yzm")

var phone=$(".phone")

var reg = /^1[0-9]{10}$/; //电话号码的正则匹配式

phone.keyup(function(){

if (reg.test(phone.val())){

btn.removeAttr("disabled") //当号码符合规则后发送验证码按钮可点击

}

else{

btn.attr("disabled",true)

}

})

//计时函数

function timeCount(){

timeleft-=1

if (timeleft>0){

btn.val(timeleft+" 秒后重发");

setTimeout(timeCount,1000)

}

else {

btn.val("重新发送");

timeleft=ordertime //重置等待时间

btn.removeAttr("disabled");

}

}

//事件处理函数

btn.on("click",function(){

$(this).attr("disabled",true); //防止多次点击

//此处可添加 ajax请求 向后台发送 获取验证码请求

timeCount(this);

})

})

  ajax请求格式大致如下,可以用来请求服务器向指定手机发送验证码

  $.ajax({

  type: "POST", //用POST方式传输

  dataType: "text", //数据格式:JSON

  url: 'Login.ashx', //目标地址

   data: "dealType=" + dealType +"&uid=" + uid + "&code=" + code, //post携带数据

   error: function () { }, //请求错误时的处理函数

  success: function (){ }, //请求成功时执行的函数

});

  另外,在实际开发中,还有ajax请求验证用户填写验证码与服务器等,再加上使用cookies来防止页面刷新导致倒计时失效,实际开发的代码量会比上面多很多。

  但只要掌握了基本原理和实现思路,就可以轻松实现项目要求。

  希望这个 文章 对你有帮助。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线