js pug 代码_前端开发nodejs+pug——注册登录
extends layout
block opration-content
a(class=”nav-item nav-link”href=”/login”)Login
a(class=”nav-item nav-link active”href=”#”)SignUp
block content
.login.row.justify-content-md-center
.col-md-8
.card.border-secondary
.card-headerRegister
.card-body.text-secondary
form(οnsubmit=”return false;”)
.form-group.row
lable(for=”name”class=”col-sm-4 text-right”)Name
.col-sm-6
input(
type=”text”
name=”name”
class=”form-control”
id=”name”
placeholder=”Name”
required
)
.form-group.row
lable(for=”sex”class=”col-sm-4 text-right”)Sex
.col-sm-6
label.custom-control.custom-radio
input(
id=”radioStacked1″
name=”sex”
type=”radio”
value=”0″
class=”custom-control-input”
required
)
span.custom-control-indicator
span.custom-control-descriptionMale
label.custom-control.custom-radio
input(
id=”radioStacked2″
name=”sex”
type=”radio”
value=”1″
class=”custom-control-input”
required
)
span.custom-control-indicator
span.custom-control-descriptionFemale
.form-group.row
lable(for=”address”class=”col-sm-4 text-right”)Address
.col-sm-6
input(
type=”text”
name=”address”
class=”form-control”
id=”address”
placeholder=”Address”
required
)
.form-group.row
lable(for=”password”class=”col-sm-4 text-right”)Password
.col-sm-6
input(
type=”password”
name=”password”
class=”form-control”
id=”password”
placeholder=”Password”
required
)
.form-group.row
lable(for=”password_confirmation”class=”col-sm-4 text-right”)ConfirmPassword
.col-sm-6
input(
type=”password”
name=”password_confirmation”
class=”form-control”
id=”password_confirmation”
placeholder=”Confirm Password”
required
)
.form-group.row
lable.col-sm-4.text-right验证码
#captcha.col-sm-6
p#wait.show正在加载验证码……
.row
.col-sm-8.ml-sm-auto
button(type=”submit”class=”btn btn-dark”id=”registerBtn”)
i(class=”fa fa-sign-in”aria-hidden=”true”)
|SignUp
append header
script(src=CommonLibs+’/js/gt.js’)
script.
functionregister(captchaObj){
var result = captchaObj.getValidate();
if(!result){
returnalert(‘请完成验证’);
}
var name =$(‘input[name=name]’).val();
var pwd =$(‘input[name=password]’).val();
var cpwd =$(‘input[name=password_confirmation]’).val();
var sex =$(‘input[name=sex]:checked’).val();
var address =$(‘input[name=address]’).val();
var udate =newDate();
if(name ==”|| pwd ==”|| cpwd ==”|| sex ==”|| address ==”){
returnfalse;
}
udate = udate.Format(‘yyyy-MM-dd hh:mm:ss’);
if($.md5(pwd)!= $.md5(cpwd)){
alert(‘The confirmation password is not identical.’);
returnfalse;
}
var param ={
uname: name,
upwd: $.md5(pwd),
usex: sex,
uaddress: address,
udate: udate
};
$.ajax({
type:’post’,
url:’/ghost/register’,
data: param,
dataType:’json’,
success:function(res){
alert(‘Register Success’);
window.location.href =’/login’;
},
error:function(err){
console.log(err);
captchaObj.reset();
}
});
returnfalse;
}
varhandler=function(captchaObj){
captchaObj.appendTo(‘#captcha’);
captchaObj.onReady(function () {
$(“#wait”).hide();
});
$(‘#registerBtn’).click(function(){
register(captchaObj);
});
// 更多接口说明请参见:http://docs.geetest.com/install/client/
window.gt= captchaObj;
};
$.ajax({
url:”gt/register-slide?t=”+(newDate()).getTime(),// 加随机数防止缓存
type:”get”,
dataType:”json”,
success:function(data){
// 调用 initGeetest 进行初始化
// 参数1:配置参数
// 参数2:回调,回调的第一个参数验证码对象,之后可以使用它调用相应的接口
initGeetest({
// 以下 4 个配置参数为必须,不能缺少
gt: data.gt,
challenge: data.challenge,
offline:!data.success,// 表示用户后台检测极验服务器是否宕机
new_captcha: data.new_captcha,// 用于宕机时表示是新验证码的宕机
product:”float”,// 产品形式,包括:float,popup
width:”100%”
// 更多配置参数说明请参见:http://docs.geetest.com/install/client/
}, handler);
}
});
// 对Date的扩展,将 Date 转化为指定格式的String
// 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符,
// 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字)
// 例子:
// (new Date()).Format(“yyyy-MM-dd hh:mm:ss.S”) ==> 2006-07-02 08:09:04.423
// (new Date()).Format(“yyyy-M-d h:m:s.S”) ==> 2006-7-2 8:9:4.18
Date.prototype.Format=function(fmt){//author: meizz
var o ={
“M+”:this.getMonth()+1,//月份
“d+”:this.getDate(),//日
“h+”:this.getHours(),//小时
“m+”:this.getMinutes(),//分
“s+”:this.getSeconds(),//秒
“q+”:Math.floor((this.getMonth()+3)/3),//季度
“S”:this.getMilliseconds()//毫秒
};
if(/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1,(this.getFullYear()+””).substr(4-RegExp.$1.length));
for(var k in o)
if(newRegExp(“(“+ k +”)”).test(fmt)) fmt = fmt.replace(RegExp.$1,(RegExp.$1.length==1)?(o[k]):((“00″+ o[k]).substr((“”+ o[k]).length)));
return fmt;
js pug 代码_前端开发nodejs+pug——注册登录相关推荐
- css宋体代码_前端开发必备的CSS命名规范与常用CSS代码集合
编辑 | web前端开发 来源 | web前端开发 我们在用html+css进行网页的排版布局时,经常会遇到CSS命名,如果是在团队多人协作开发时,团队里都会有自己的命名规范与要求. 但如果是自己在个 ...
- JS实现仿新浪微博大厅和腾讯微博首页滚动效果_前端开发
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...
- 读书笔记:编写高质量代码--web前端开发修炼之道(二:5章)
读书笔记:编写高质量代码--web前端开发修炼之道 这本书看得断断续续,不连贯,笔记也是有些马虎了,想了解这本书内容的童鞋可以借鉴我的这篇笔记,希望对大家有帮助. 笔记有点长,所以分为一,二两个部分: ...
- 人工智能实战小程序之语音_前端开发
1. 人工智能实战小程序之准备工作 2. 人工智能实战小程序之语音_前端开发 今天这部分主要讲小程序前端功能的开发 由于我偏后端,css是我的弱项,可能很多人和我一样开发小程序不知道如何下手,希望本篇 ...
- 前端切换视图_前端开发的10个软件工具,用过3个就是大神!
即刻关注公众号,发现世界的美好 经常有小伙伴问我前端开发写代码用那个软件好? 今天在这里统一回答,主流的前端开发写代码软件有这:Webstorm.Vscode.Sublime Text.HBuilde ...
- js pug 代码_用JS写的windows95操作系统
README.md 这是Windows95,在Electron应用程序中运行.是的,这是完整的. 它有用吗? 是的,可以.实际上,在macOS,Windows和Linux上.请记住,这完全是用Java ...
- webstorm github怎么用_前端开发神器WebStorm发布最新版本2019.3,代码完成更加智能...
WebStorm是一款深受广大程序员喜爱的JavaScript 开发和Web前端开发工具,完美适应各种复杂客户端开发和Node.js的服务器端开发.2019.3版本的启动速度提高了20%,对Vue.j ...
- js导出excel单元格内换行符代码_前端和excel的那些事
前端和 excel 的那点事 在开发需求中,经常会遇到需要和excel相关的需求,毕竟不是所有人都是程序员,很多的业务都是通过excel去进行数据的整理归类计算的,excel中提供的一系列快捷功能,统 ...
- js读取外部json指定字段值完整代码_前端工程化 剖析npm的包管理机制(完整版)...
导读 现如今,前端开发的同学已经离不开 npm 这个包管理工具,其优秀的包版本管理机制承载了整个繁荣发展的NodeJS社区,理解其内部机制非常有利于加深我们对模块开发的理解.各项前端工程化的配置以加快 ...
- js 刷新页面但是不闪烁_前端开发还在手动刷新页面?手把手教你搭建一个自动刷新工具...
作为一名前端,开发web页面是我们的本职工作.在完成一个页面开发的过程中,保存代码然后手动刷新页面查看效果,这样的动作需要重复无数次,虽然一次这样的动作可能只要花费几秒钟的时间,但是次数多了也挺浪费时 ...
最新文章
- MacBookProM1 重置的注意事项
- 一些汇编中的 trick
- Handler消息传递机制(一)
- 21_异常_第21天(异常、企业面试题,思维导图下载)
- ASP.NET Core使用HostingStartup增强启动操作
- SharePoint2013 2019性能及限制
- 有没有适合做签名的简短句子?
- javaweb简单的登录增删改查系统_国产化之路统信UOS /Nginx /Asp.Net Core+ EF Core 3.1/达梦DM8实现简单增删改查操作...
- 【ZJOI2009】【BZOJ1432】Function(找规律)
- WPF Demo20 模板
- (笔记)电路设计(六)之稳压二极管的应用
- 期货日内交易如何判断方向
- 高性能服务器设计——常用网络服务器设计模型
- 三、任务切换之PendSV异常
- 手机用html电视,手机怎么连接电视
- 嵌入式开发之linux根文件系统移植
- PDF预览电子签章无法显示问题
- 图数据库初探相关——1.Simulating Mobile Money Fraud pt.1(模拟移动支付诈骗)翻译
- 【资料合集】2018云栖大会上半年深圳、南京、武汉、上海峰会全记录
- 脑机接口科普0003——Hans Berger
热门文章
- java 核型技术 卷2 pdf,NGS-analysis/Structural-Variation.md at master · zhuhuo/NGS-analysis · GitHub...
- wget php mirror 地址,wget命令镜像网站
- 如何找到mysql的初始密码_如何查看mysql的初始密码
- 硬盘安装win10,笔者教你如何一步步从硬盘安装win10系统
- 基于Echarts实现可视化数据大屏物流云大数据看板页面HTML模板
- antd 时间选择器,设置显示为中文
- 关于“wuauclt.exe”病毒的清理
- DataHunter完成千万级A轮融资 打造数据协作平台
- 计算机系统的组成中的软件部分
- 模拟信号和数字信号的区别