【案例】高仿百度注册页

注意点:

1、正则表达式的匹配

2、密码强度规则的设置

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<title>高仿百度注册页</title>

<style>

*{

margin:0;

padding:0;

}

form{

width:800px;

height: 300px;

border:1px solid #ccc;

margin-left:50px;

margin-top: 20px;

}

form div{

width:720px;

height: 42px;

margin-top: 20px;

}

form div>.left_info{

display: inline-block;

width: 65px;

height: 42px;

line-height: 42px;

font-size: 14px;

color: #666;

font-weight: 700;

text-align: right;

float: left;

}

form div>input{

width: 330px;

height: 38px;

font-size: 14px;

color: #666;

border: 1px solid #ddd;

float: left;

margin-left: 5px;

transition: 0.3s;

}

form div>input:focus{

outline: none;

border-color: #3f89ec;

}

form div>.tip_msg{

font-size: 12px;

color: #666;

float: left;

margin-left: 5px;

position: relative;

top:5px;

}

form div>.error{

font-size: 12px;

color: #f00;

float: left;

margin-left: 5px;

position: relative;

top: 5px;

}

form div>.success{

font-size: 20px;

color: #0f0;

float: left;

margin-left: 5px;

position: relative;

top: 5px;

}

form>input{

width: 330px;

height: 45px;

background: #3F89EC;

border: none;

border-radius: 5px;

margin-top: 20px;

margin-left: 69px;

color: #fff;

font-size: 16px;

font-weight: 700;

cursor: pointer;

outline: none;

}

form>input:hover{

background: #4490f7;

}

</style>

</head>

<body>

<form action="1.php" method="post">

<div>

<span class="left_info">用户名</span>

<input type="text" placeholder="请设置用户名" id="username">

<span class="tip_msg"></span>

</div>

<div>

<span class="left_info">密码</span>

<input type="password" placeholder="请设置登录密码" id="pwd">

<span class="tip_msg"></span>

</div>

<div>

<span class="left_info">确认密码</span>

<input type="password" placeholder="请再次输入密码" id="rePwd">

<span class="tip_msg"></span>

</div>

<input type="submit" value="注册" id="reg">

</form>

</body>

<script>

//获取元素

var reg = document.getElementById(‘reg‘);

var username = document.getElementById(‘username‘);

var pwd = document.getElementById(‘pwd‘);

var rePwd = document.getElementById(‘rePwd‘);

//初始化三个变量isUserName、isPwd、isRepeatPwd分别表示用户名

//密码、重复密码是否都满足要求;初始化为false

var isUserName = false;

var isPwd = false;

var isRepeatPwd = false;

//以上3个变量同时为true,表单才可提交

reg.onsubmit = function(){

if(!isUserName && !isPwd && isRepeatPwd){

return false;

}

}

//用户名

username.onfocus = function(){

var span = this.nextElementSibling;

span.innerHTML = ‘设置后不可更改<br />中英文均可,最长14个英文或7个汉字‘;

span.className = ‘tip_msg‘;

}

username.onblur = function(){

//鼠标失去焦点后,判断用户名是否是合法的

/**

**判断用户名

*1、首先获取用户名

*2、判断用户名是否合法

2.1     用户名不能为空

2.2     用户名不能是除了中英文、数字、下划线以外的其他字符

2.3     用户名不能为纯数字

2.4     字符串长度为7-12位(中文+2,英文+1)

**/

var span = this.nextElementSibling;

var userInputName = this.value.trim();

var reg1 = /[^\u4e00-\u9fa5\w]/i;

var reg2 = /\D/;

var reg3 = /[\u4e00-\u9fa5]/;

var len = 0;

//遍历用户名,已确定用户名长度是否合法

for(var i in userInputName){

if(reg3.test(userInputName[i])){

len += 2;

}else{

len += 1;

}

}

if(userInputName == ‘‘){

//设置错误提示信息

span.innerHTML = ‘用户名不允许为空‘;

span.className = ‘error‘;

//设置错误标志

isUserName = false;

//终止程序

return;

}

if(reg1.test(userInputName)){

//设置错误提示信息

span.innerHTML = ‘用户名仅支持中英文、数字和下划线‘;

span.className = ‘error‘;

//设置错误标志

isUserName = false;

//终止程序

return;

}

if(!(reg2.test(userInputName))){

//设置错误提示信息

span.innerHTML = ‘用户名不能为纯数字‘;

span.className = ‘error‘;

//设置错误标志

isUserName = false;

//终止程序

return;

}

if(len > 14){

//设置错误提示信息

span.innerHTML = ‘用户名不能超过14个字符‘;

span.className = ‘error‘;

//设置错误标志

isUserName = false;

//终止程序

return;

}else{

//以上条件均满足

//设置正确提示信息

span.innerHTML = ‘√‘;

span.className = ‘success‘;

//设置正确标志

isUserName = true;

}

}

//密码

pwd.onfocus = function(){

//设置提示信息

var span = this.nextElementSibling;

span.innerHTML = ‘不允许为空,6-14个字符‘;

span.className = ‘tip_msg‘;

}

pwd.oninput = function(){

var span = this.nextElementSibling;

var pwdValue = this.value;

var reg1 = /\s/;  //匹配任意一个空白符

var reg2 = /^[\S]{6,14}$/i;

/**

**判断密码是否合法

**1、密码不允许为空

**2、长度为6-14位

**/

if(reg1.test(pwdValue)){

//设置错误提示信息

span.innerHTML = ‘密码不允许有空格‘;

span.className = ‘error‘;

//设置错误标志

isPwd = false;

//终止程序

return;

}

if(!(reg2.test(pwdValue))){

//设置错误提示信息

span.innerHTML = ‘长度为6-14个字符‘;

span.className = ‘error‘;

//设置错误标志

isPwd = false;

//终止程序

return;

}else{

//判断密码强度

var reg3 = /\d/;  //检测纯数字

var reg4 = /[a-z]/i;  //检测纯字母

var reg5 = /[^a-z\d]/i;  //检测其他字符

var rate = 0;

if(reg3.test(pwdValue)){

rate += 1;

}

if(reg4.test(pwdValue)){

rate += 1;

}

if(reg5.test(pwdValue)){

rate += 1;

}

switch(rate){

case 1:

span.innerHTML = ‘√———弱‘;

break;

case 2:

span.innerHTML = ‘√———中‘;

break;

case 3:

span.innerHTML = ‘√———强‘;

break;

}

span.className = ‘success‘;

//设置正确标志

isPwd = true;

}

}

//重复密码

rePwd.onfocus = function(){

var span = this.nextElementSibling;

span.innerHTML = ‘确认密码与原密码必须保持一致‘;

span.className = ‘tip_msg‘;

}

rePwd.onblur = function(){

var span = this.nextElementSibling;

var rePwdValue = this.value;

var originalPwd = pwd.value;

console.log(originalPwd);

/**

**判断重复密码

**1、不为空

**2、与原密码保持一致

**/

if(rePwdValue == ‘‘){

//设置错误提示信息

span.innerHTML = ‘确认密码不能为空‘;

span.className = ‘error‘;

//设置错误标志

isRepeatPwd = false;

//终止程序

return;

}

if(!(rePwdValue === originalPwd)){

//设置错误提示信息

span.innerHTML = ‘确认密码与原密码不一致‘;

span.className = ‘error‘;

//设置错误标志

isRepeatPwd = false;

//终止程序

return;

}else{

//设置正确提示信息

span.innerHTML = ‘√‘;

span.className = ‘success‘;

//设置错误标志

isRepeatPwd = true;

}

}

</script>

</html>

原文地址:https://www.cnblogs.com/sherryStudy/p/baidu_register.html

时间: 2024-08-29 05:01:23

【案例】高仿百度注册页的相关文章

高仿百度传课iOS版,版本号2.4.1.2

高仿百度传课iOS版,版本号:2.4.1.2 运行环境:xcode6.3  ios8.3 (再往上系统没有测试) github源码链接:https://github.com/lookingstars/chuanke 转载请注明出处,不可用于商业用途及不合法用途. 如果你觉得不错,欢迎  star  哦 主要内容:课程首页,课程分类,搜索(语音输入搜索,文字输入搜索),课程列表,微信分享.新浪分享,课程详情,课程评价,视频在线播放,学校详情,学校所有课程 1.课程推荐首页: 2.课程分类 3.搜索

【IOS】高仿百度传课

高仿百度传课 高仿百度传课iOS版,版本号:2.4.1.2 运行环境:xcode6.3 ios8.3 (再往上系统没有测试) github源码链接:https://github.com/lookingstars/chuanke 转载请注明出处,不可用于商业用途及不合法用途. 如果你觉得不错,欢迎 star 哦 主要内容:课程首页,课程分类,搜索(语音输入搜索,文字输入搜索),课程列表,微信分享.新浪分享,课程详情,课程评价,视频在线播放,学校详情,学校所有课程. 注意:工程采用cocoapods

高仿百度搜索引擎

这是百度搜索 HTML <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <link rel="stylesheet" href="css/baiduFirst.css"> </head> <body>

Android 高仿百度贴吧发帖页面

本次项目是做一个论坛,我仿照了一下百度贴吧的发帖效果,实现界面如下所示,将源码发出来分享一下. 核心主要是实现两个地方: 1.点击输入框之后,页面浮动,将下面的上传图片布局给顶上来. 2.输入帖子内容部分需要全屏显示: 针对这两个部分,这里分别交代一下: 1)为了实现点击输入框之后,页面浮动,将下面的上传图片布局给顶上来.这里将内容部分嵌套一个ScrollView滚动模块,这样就可以被顶起. 2)为了达到全屏显示帖子内容.这里需要将ScrollView中加入如下设置: android:fillV

使用Jquery UI 高仿百度搜索下拉列表功能

最近项目有个需求,在新添加商户的时候,用户输入商户名称后,如果系统中有类似的商户名称,直接显示出来,如下图的效果: 实现这个功能,直接使用了JQuery UI 插件 目前我使用的实现版本是: 网友可以自行下载好js文件,css文件,放在你项目可以访问到位置就可以了. 引入这些文件之后,你就可以复制使用下面的页面来测试(注意引用文件的路径): <!doctype html><html lang="en"><head> <meta charset=

Android 高仿微信实时聊天 基于百度云推送

转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/38799363 ,本文出自:[张鸿洋的博客] 一直在仿微信界面,今天终于有幸利用百度云推送仿一仿微信聊天了~~~ 首先特别感谢:weidi1989分享的Android之基于百度云推送IM ,大家可以直接下载:省了很多事哈,本例中也使用了weidi的部分代码,凡是@author way的就是weidi1989的代码~~ 1.效果图 核心功能也就上面的两张图了~~~我拿着手机和模拟器

&nbsp; &nbsp; 专业办理克隆高仿银行承兑汇票【TEL130-4887-8727】百度知道

专业办理克隆高仿银行承兑汇票[TEL130-4887-8727]百度知道 本公司专业克隆制作银行承兑汇票,原版的纸张,过硬的技术,保证质量,可以电话查验,上网查验,验货后付款,面向全国,顶级克隆技术我们一直以来以最优的诚信服务待人.需要的客户可以随时和我们联系!TEL130-4887-8727 商业承兑汇票和银行承兑汇票的区别 商业承兑汇票和银行承兑汇票的承兑人不同,决定了商业承兑汇票是商业信用,银行承兑汇票是银行信用.目前银行承兑汇票一般由银行签发并承兑,而商业承兑汇票可以不通过银行签发并背书

基于百度云推送的高仿微信实时聊天Android源码

基于百度云推送的高仿微信实时聊天Android源码 使用服务:百度云推送    功能分类:社交     支持平台:Android 运行环境:Android       开发语言:Java     开发工具:Eclipse 下载地址:http://sina.lt/z84 源码简介 基于百度云推送的一款Android高仿微信的实时聊天app 运行动态图

分享iOS开发常用(三方类库,工具,高仿APP,实用网站)

一 . JSONModel  (三方类库会有更新,建议大家在线下载) http://pan.baidu.com/s/1i5ybP1z 二.AFNetworkiong http://pan.baidu.com/s/1eSi8U0U 三.MJRefresh http://pan.baidu.com/s/1pKLVUv5 四.GData http://pan.baidu.com/s/1bIYCPo 五.MBProgreHUD+MJ http://pan.baidu.com/s/1i48AXkp ...