1)jquery validate 远程验证remote,自定义验证 , 手机号验证 2)bootstrap validate 远程remote验证的方法.
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验证的方法.的更多相关文章
- jQuery Validate 插件验证,,返回不同信息(json remote)自定义
问题 申请账号需要确认该账号是存在 jquery.validate.js中的remote Jquery Ajax获取后台返回的Json数据后,添加自定义校验 解题思路:输入的登陆信息远程验证是否该账号 ...
- jQuery Validate 表单验证插件----自定义一个验证方法
一.下载依赖包 网盘下载:https://yunpan.cn/cryvgGGAQ3DSW 访问密码 f224 二.引入依赖包 <script src="../../scripts/j ...
- jQuery Validate 表单验证插件----自定义校验结果样式
一.下载依赖包 网盘下载:https://yunpan.cn/cryvgGGAQ3DSW 访问密码 f224 二.引入依赖包 <script src="../../scripts/j ...
- jquery.validate.js使用之自定义表单验证规则
jquery.validate.js使用之自定义表单验证规则,下面列出了一些常用的验证法规则 jquery.validate.js演示查看 jquery validate强大的jquery表单验证插件 ...
- EasyUI表单验证,自定义插件验证,自定义js插件验证,远程验证,常见手机号,中英文,qq等验证规则验证
{ field : 'startPort', title : "起始端口", editor: "text", width : 50, editor: { ...
- jQuery Validation Engine 表单验证,自定义规则验证方法
jQuery Validation Engine 表单验证说明文档http://code.ciaoca.com/jquery/validation-engine/ js加到jquery.validat ...
- 关于引入多个jquery冲突的问题(附一个很好用的validate前端验证框架及使用方法)
废话不多说,进入正题: 如果一个jsp中想要使用两个不同版本的jquery怎么办呢?客官往下看: <script src="${ctxStatic}/jquery/jquery-1.8 ...
- MVC身份验证.MVC过滤器.MVC6关键字Task,Async.前端模拟表单验证,提交.自定义匿名集合.Edge导出到Excel.BootstrapTree树状菜单的全选和反选.bootstrap可搜索可多选可全选下拉框
1.MVC身份验证. 有两种方式.一个是传统的所有控制器继承自定义Control,然后再里面用MVC的过滤器拦截.所以每次网站的后台被访问时.就会先走入拦截器.进行前端和后端的验证 一个是利用(MVC ...
- 9、 Struts2验证(声明式验证、自定义验证器)
1. 什么是Struts2 验证器 一个健壮的 web 应用程序必须确保用户输入是合法.有效的. Struts2 的输入验证 基于 XWork Validation Framework 的声明式验证: ...
随机推荐
- PAT 1003 Emergency
1003 Emergency (25 分) As an emergency rescue team leader of a city, you are given a special map of ...
- Oracle 11.2.0.4.0 Dataguard部署和日常维护(2)-Datauard部署篇
1. primary库设置dataguard相关参数 1.1. 强制primay库在任何状态下必须记录日志 SYS@userdata>select FORCE_LOGGING from v$ ...
- Spring Boot: remove jsessionid from url
参考代码 :Spring Boot: remove jsessionid from url 我的SpringBoot用2.0.*,答案中的第一二个方案亲测无效. 应该在继承了Configuration ...
- python中的apscheduler模块
1.简介 apscheduler是python中的任务定时模块,它包含四个组件:触发器(trigger),作业存储(job store),执行器(executor),调度器(scheduler). 2 ...
- echarts的基本使用
echarts的基本使用 官网:http://echarts.baidu.com/index.html ECharts,一个使用 JavaScript 实现的开源可视化库,可以流畅的运行在 PC 和移 ...
- 《高性能SQL调优精要与案例解析》——10.4_SQL语句改写部分文档
应各位读者要求,现将<高性能SQL调优精要与案例解析>中<10.4 SQL语句改写>部分整理成电子文档,上传至群共享文件(群号:298176197): 或者通过如下链接下载: ...
- ifcfg-eth配置详解(CentOS6)
1.基本配置形式 1.1 动态IP基本配置 DEVICE=eth0 TYPE=Ethernet ONBOOT=yes BOOTPROTO=dhcp DEVICE--网卡名,要与ifcfg-ethx中的 ...
- iptables增加、删除、修改、查询、保存防火墙策略教程
一.查看现有防火墙策略 iptables -L -n iptables -L -n --line-number #--line-number参数会显示策略编号,该编号在删除策略时使用 二.增加防火墙策 ...
- windows启动/禁用telnet/IIS/ftp/IE等服务
将需要启动的钩选,将要禁用的取消钩选确定即可:比如我这里要启动telnet客户端. 启动IIS将IIS可承载的Web核心和Internet两大项全钩选上即可,钩多了不影响功能.
- 普通01背包问题(dp)
有n个物品,重量和价值分别为wi和vi,从这些物品中挑选出重量不超过W的物品,求所有挑选方案中物品价值总和的最大值 限制条件: 1 <= n <= 100; 1 <= wi,vi & ...