1)jquery  validate 远程验证remote,自定义验证

1-1: js

 <script src="YYFramework/Public/js/jquery-3.1.1.js"></script>
<script src="YYFramework/Public/js/jquery.validate.min.js"></script>
<script src="YYFramework/Public/js/jquery.form.js"></script>
<script type="text/javascript"> // 手机号码验证
$.validator.addMethod("isMobile", function(value, element) {
var length = value.length;
var mobile = /^(13[0-9]{9})|(18[0-9]{9})|(14[0-9]{9})|(17[0-9]{9})|(15[0-9]{9})$/;
return this.optional(element) || (length == 11 && mobile.test(value));
}, "请正确填写您的手机号码"); //jquery.validate表单验证
$(document).ready(function(){
//登陆表单验证
$("#registerForm").validate({
rules:{
username:{
required:true,//必填
minlength:3, //最少6个字符
maxlength:32,//最多20个字符
},
password:{
required:true,
minlength:3,
maxlength:32,
},
confirm_password: {
required: true,
minlength: 3,
maxlength:32,
equalTo: "#password"
},
phone_number: {
required: true,
isMobile: true,
remote:{
url:"action.php?c=HLogin&a=phoneNumber",
type:"post",
data: {
phone_number: function(){return $("#number").val()}
}
} }
},
//错误信息提示
messages:{
username:{
required:"必须填写用户名",
minlength:"用户名至少为3个字符",
maxlength:"用户名至多为32个字符", },
password:{
required:"必须填写密码",
minlength:"密码至少为3个字符",
maxlength:"密码至多为32个字符",
},
confirm_password: {
required: "请输入密码",
minlength:"密码至少为3个字符",
maxlength:"密码至多为32个字符",
equalTo: "两次密码输入不一致"
},
phone_number: {
required:"必须填写手机号",
isMobile: "手机号格式不正确",
remote: "手机号码已经存在"
}
}, submitHandler:function(form){
// form.submit();
$(form).ajaxSubmit({
dataType:"json",
success:function( data ){
console.log('register', data);
if( data == -1 ){
alert("注册失败");
}else{
alert("注册成功");
setTimeout("window.location.href='homeLogin.php', 1000");
}
}
}); return false;
} });
}); </script>
$(form).ajaxSubmit 用的是 jquery.form.js 的方法.

自定义手机号验证:
 6     // 手机号码验证
7 $.validator.addMethod("isMobile", function(value, element) {
8 var length = value.length;
9 var mobile = /^(13[0-9]{9})|(18[0-9]{9})|(14[0-9]{9})|(17[0-9]{9})|(15[0-9]{9})$/;
10 return this.optional(element) || (length == 11 && mobile.test(value));
11 }, "请正确填写您的手机号码");

1-2: html:

 <div class="register-container">
<h1>欢迎注册!</h1> <div class="connect">
<p></p>
</div> <form action="action.php?c=HLogin&a=register" method="post" id="registerForm">
<div>
<input type="text" name="username" class="username" placeholder="您的用户名" autocomplete="off"/>
</div>
<div>
<input type="password" name="password" class="password" id="password" placeholder="输入密码" oncontextmenu="return false" onpaste="return false" />
</div>
<div>
<input type="password" name="confirm_password" class="confirm_password" placeholder="再次输入密码" oncontextmenu="return false" onpaste="return false" />
</div>
<div>
<input type="text" name="phone_number" class="phone_number" placeholder="输入手机号码" autocomplete="off" id="number"/>
</div>
<!-- <div>
<input type="email" name="email" class="email" placeholder="输入邮箱地址" oncontextmenu="return false" onpaste="return false" />
</div> --> <button id="submit" type="submit">注 册</button>
</form>
<a href="homeLogin.php">
<button type="button" class="register-tis">已经有账号?</button>
</a> </div>

1-3: 服务器端.

1-3-1: 注册:action="action.php?c=HLogin&a=register"

     public function registerAction()
{
$userName = $_REQUEST["username"];
$loginName = $userName;
$password = $_REQUEST["password"];
$iphone = $_REQUEST["phone_number"]; $UserModel = new UserModel();
$UserModel->userName = $userName;
$UserModel->loginName = $loginName;
$UserModel->password = $password;
$UserModel->pic = '';
$UserModel->iphone = $iphone;
$UserModel->lastUpdateTime = time();
echo json_encode($UserModel->insert());
}

1-3-2: 远程验证 手机号是否重复.url:"action.php?c=HLogin&a=phoneNumber",

    /**
* [phoneNumberAction 验证手机号码是否重复]
* @return [type] [description]
*/
public function phoneNumberAction()
{
$phone = $_REQUEST["phone_number"]; $UserModel = new UserModel();
$UserModel->getDataRow( " where iphone = $phone "); if ($UserModel->getDB) {
echo json_encode(false);
} else {
echo json_encode(true);
} }

注意 这里返回的是 :  json_encode(false) 表示有重复的号码;   必须是json_encode(true)  ,是json格式.

2)bootstrapvalidate 远程remote验证的方法

2-1:js

         //表单验证
base.userForm = function(){
//验证字段
var fields = {
'userName':{message :'姓名验证失败!',validators:{notEmpty:{message:'姓名不能为空'}}},
'loginName':{
message :'登录名验证失败!',
validators:{
notEmpty:{
message:'登录名不能为空'
},
remote: {//ajax验证。server result:{"valid",true or false} 向服务发送当前input name值,获得一个json数据。例表示正确:{"valid",true}
url: 'action.php?c=HLogin&a=loginName2',//验证地址
message: '登录名已存在',//提示消息
delay : 1000,//每输入一个字符,就发ajax请求,服务器压力还是太大,设置2秒发送一次ajax(默认输入一个字符,提交一次,服务器压力太大)
type: 'POST',
data: function(validator) {
return {
loginName: $('#loginName_0').val()
};
} }
}
},
'password':{
message :'登陆密码验证失败!',
validators:{
notEmpty:{
message:'登陆密码不能为空'
},
identical: {
field: 'cpassword',
message: '确认密码与密码不一致'
} }
},
'cpassword':{
message :'确认密码验证失败!',
validators:{
notEmpty:{
message:'确认密码不能为空'
},
identical: {
field: 'password',
message: '确认密码与密码不一致'
} }
},
'iphone':{
message :'手机号验证失败!',
validators:{
notEmpty:{
message:'手机号不能为空'
},
remote: {//ajax验证。server result:{"valid",true or false} 向服务发送当前input name值,获得一个json数据。例表示正确:{"valid",true}
url: 'action.php?c=HLogin&a=phoneNumber2',//验证地址
message: '手机号已存在',//提示消息
delay : 1000,//每输入一个字符,就发ajax请求,服务器压力还是太大,设置2秒发送一次ajax(默认输入一个字符,提交一次,服务器压力太大)
type: 'POST',
data: function(validator) {
return {
phone_number: $('#iphone_0').val()
};
} }
}
}
};
//添加验证
base.validate("#userForm",fields);
}

2-2: 服务器端: url: 'action.php?c=HLogin&a=phoneNumber2',//  注意返回的数据的格式.

     public function phoneNumber2Action()
{
$phone = $_REQUEST["phone_number"]; $UserModel = new UserModel();
$UserModel->getDataRow( " where iphone = $phone "); if ($UserModel->getDB) {
// $arr[""]
// echo json_encode(false);
echo '{"valid":false}';
} else {
// echo json_encode(true);
echo '{"valid":true}';
} }

必须是这种格式: {"valid":false}

1)jquery validate 远程验证remote,自定义验证 , 手机号验证 2)bootstrap validate 远程remote验证的方法.的更多相关文章

  1. jQuery Validate 插件验证,,返回不同信息(json remote)自定义

    问题 申请账号需要确认该账号是存在 jquery.validate.js中的remote Jquery Ajax获取后台返回的Json数据后,添加自定义校验 解题思路:输入的登陆信息远程验证是否该账号 ...

  2. jQuery Validate 表单验证插件----自定义一个验证方法

    一.下载依赖包 网盘下载:https://yunpan.cn/cryvgGGAQ3DSW  访问密码 f224 二.引入依赖包 <script src="../../scripts/j ...

  3. jQuery Validate 表单验证插件----自定义校验结果样式

    一.下载依赖包 网盘下载:https://yunpan.cn/cryvgGGAQ3DSW  访问密码 f224 二.引入依赖包 <script src="../../scripts/j ...

  4. jquery.validate.js使用之自定义表单验证规则

    jquery.validate.js使用之自定义表单验证规则,下面列出了一些常用的验证法规则 jquery.validate.js演示查看 jquery validate强大的jquery表单验证插件 ...

  5. EasyUI表单验证,自定义插件验证,自定义js插件验证,远程验证,常见手机号,中英文,qq等验证规则验证

     { field : 'startPort', title : "起始端口", editor: "text", width : 50, editor: { ...

  6. jQuery Validation Engine 表单验证,自定义规则验证方法

    jQuery Validation Engine 表单验证说明文档http://code.ciaoca.com/jquery/validation-engine/ js加到jquery.validat ...

  7. 关于引入多个jquery冲突的问题(附一个很好用的validate前端验证框架及使用方法)

    废话不多说,进入正题: 如果一个jsp中想要使用两个不同版本的jquery怎么办呢?客官往下看: <script src="${ctxStatic}/jquery/jquery-1.8 ...

  8. MVC身份验证.MVC过滤器.MVC6关键字Task,Async.前端模拟表单验证,提交.自定义匿名集合.Edge导出到Excel.BootstrapTree树状菜单的全选和反选.bootstrap可搜索可多选可全选下拉框

    1.MVC身份验证. 有两种方式.一个是传统的所有控制器继承自定义Control,然后再里面用MVC的过滤器拦截.所以每次网站的后台被访问时.就会先走入拦截器.进行前端和后端的验证 一个是利用(MVC ...

  9. 9、 Struts2验证(声明式验证、自定义验证器)

    1. 什么是Struts2 验证器 一个健壮的 web 应用程序必须确保用户输入是合法.有效的. Struts2 的输入验证 基于 XWork Validation Framework 的声明式验证: ...

随机推荐

  1. thinkphp 中MVC思想

    ThinkPHP5.0应用基于MVC(模型-视图-控制器)的方式来组织. MVC是一个设计模式,它强制性的使应用程序的输入.处理和输出分开.使用MVC应用程序被分成三个核心部件:模型(M).视图(V) ...

  2. 【洛谷p5015】标题统计

    (写上瘾了再来一篇吧) 标题统计[传送门] 洛谷算法标签 字符串这种东西,我看到是崩溃的.因为我们只学到了二维数组[这个梗自行get],总之我们当时还没有学.然后显然就是各种翻书,各种百度.大致了解了 ...

  3. Rest Client插件简单介绍

    一.这插件是做什么的? 快速测试服务的. 和mockmvc功能差不多,可视化操作更直观一点. 如果使用mockmvc漏掉了一个返回值的验证,可能还需要修改再次启动 使用插件的优点是 1.如果服务端没问 ...

  4. CentOS是哪个版本 CentOS版本信息查看技巧

    root@MyMail ~ # uname Linux root@MyMail ~ # uname -r 2.6.18-164.el5 [root@localhost ~]# uname -a Lin ...

  5. Oracle Shared Pool之Library Cache

    1. Shared Pool组成 Shared Pool由许多区间(Extent)组成,这些区间又由多个连续的内存块(Chunk)组成,这些内存块大小不一.从逻辑功能角度,Shared pool主要包 ...

  6. qq远程连接/windows远程桌面/teamviwer/xmanager/vnc的区别

    软件 客户端运行平台 服务端运行平台 服务端是否需要同子网或公网IP 网络断开当前执行命令是否会中止 评价 QQ远程连接 windows windows 否 否 感觉用了一两分钟就动不了了 windo ...

  7. rtp rtcp rtsp sip协议了解方法

    vlc有个串流功能 可以流各种推流 方便拉取. 能够方便抓包查看协议. 1.菜单媒体->流 打开对话框 分别可以选择本地文件 关盘文件 网络流 捕获设备做流化处理. 2. 选择 串流->新 ...

  8. win10系统office2010每次打开总是出现配置进度

  9. PHP7 ci框架session存文件,登录的时候session不能读取

    config.php配置 $config['sess_driver'] = 'files';//以文件存储session $config['sess_cookie_name'] = 'ci_sessi ...

  10. ci框架多语言切换

    1.多语言切换首先配置config文件默认语言 2.创建自己的语言包:language chinese english目录下的语言包文件名必须以  xx_lang.php 可根据自己的需求创建数组: ...