今天在教@小房子学异步处理;记录一下内容,免得忘记.
首先写了一个手机号验证的demo
使用get方式验证手机号
代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <input type="text" id="phone"> </body> <script src="http://libs.baidu.com/jquery/1.7.2/jquery.min.js"></script> <script src="http://cdn.he29.com/layer/layer.js"></script> <script type="text/javascript"> var host = 'http://4orzfdkze1.proxy.qqbrowser.cc:8000/thinkphp'; //定义全局域名 </script> <script type="text/javascript"> $('#phone').blur(function() { var tel = $(this).val(); var telReg = !!tel.match(/^(0|86|17951)?(13[0-9]|15[012356789]|17[678]|18[0-9]|14[57])[0-9]{8}$/); //如果手机号码不能通过验证 if(telReg == false){ layer.msg('你的手机号输入有误,请检查'); return false; } $.get(host+'/home/index/index?phone='+tel, function(data) { console.log(data); if (data.code > 0) { layer.msg(data.message); }else{ //输入不正确的下一步操作 } }); }); </script> </html> |
后端代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
public function index() { Header("Access-Control-Allow-Origin:*"); Header("Access-Control-Allow-Methods: POST, GET, OPTIONS, PUT, DELETE"); $phone = isset($_GET['phone'])?$_GET['phone']:''; if (empty($phone)) { $this->ajaxReturn(array('message'=>'请先输入手机号','code'=>-2)); } if(preg_match("/1[3458]{1}\d{9}$/",$phone)){ $arr = array('message'=>'输入正确','code'=>1); }else{ $arr = array('message'=>'手机号输入不正确','code'=>-1); } $this->ajaxReturn($arr); } |
输入框失去焦点后,首先前端正则判断手机号输入是否正确,如果正确,使用get方式发送到后台继续判断,
使用post方式传输数据
1 2 3 4 5 |
$('#sub').blur(function() { $.post(host+'/home/index/index2', {name:$('#name').val(),age:$('#age').val()}, function(data) { console.log(data); }); }); |