仿京东的注册页面, 使用jQuery进行表单验证

本文主要是介绍仿京东的注册页面, 使用jQuery进行表单验证,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

HTML页面
<pre name="code" class="html"><html>
<head><title>京东注册</title><meta charset="utf-8"><script type="text/javascript" src="../jquery-2.1.4.js"></script><style type="text/css">body{padding-top: 30px}#web{margin: 0 auto; width: 400px}.title{font-size: 18px; padding-left: 25px; border-left: solid #999 1px; margin-bottom: 40px}.form_item{width:398px; height: 52px; border:solid #ddd 1px; position: relative;}.form_item label{width:90px; height:52px; line-height: 52px; float: left;padding-left: 20px; font-size: 14px; color: #666}.form_item .code{position: absolute; right: 0; top: 0; text-align: center;}.form_item input{border:0; font-size: 14px; width: 190px; height: 19px; padding-bottom: 11px; padding-left: 20px; padding-top: 16px}.input-tip{color:#c5c5c5; height: 27px; font-size: 12px; padding-top: 5px}.input-tip span{height: 22px; line-height: 22px}button, #btn{width:100%; height: 54px; color:#fff; background-color: #e22; border:0; font-size: 16px; font-family: "微软雅黑"}</style>
</head>
<body><div id="web"><form action="10_10zy.php" method="post"><div class="title">欢迎注册京东账号</div><div class="form_item"><label>用  户  名</label><input type="text" value="" placeholder="您的账户名和登录名" id="uname" name="uname" /></div><div class="input-tip"><span id="uname_error"></span></div><div class="form_item"><label>设 置 密 码</label><input type="text" value="" placeholder="建议至少使用两种字符组合" id="pwd" name="pwd" /></div><div class="input-tip"><span id="pwd_error"></span></div><div class="form_item"><label>确 认 密 码</label><input type="text" value="" placeholder="请再次输入密码" id="confirm_pwd" name="confirm_pwd" /></div><div class="input-tip"><span id="confirm_pwd_error"></span></div><div class="form_item"><label>中国 + 86</label><input type="text" value="" placeholder="建议使用常用手机" id="phone" name="phone" /></div><div class="input-tip"><span id="phone_error"></span></div><div class="form_item"><label>验  证  码</label><input type="text" value="" placeholder="请输入验证码" id="code"/><label class="code"></label></div><div class="input-tip"><span id="code_error"></span></div><div style="color:#333; font-size:12px"><input type="checkbox" name="agreen" id="agreen"/>我已阅读并同意<a style="color: #38f">《京东用户注册协议》</a></div><div class="input-tip"><span></span></div><input type="submit" name="btn" id="btn" value="立即注册"><div class="input-tip"><span></span></div><a href="10_10zy_login.php"><button type="button">登录</button></a></form></div>
</body>
</html>
</pre><pre name="code" class="html">jQuery验证代码
<pre name="code" class="javascript"><script type="text/javascript">
$(function(){//$("#")// 二维数组, 用于生成随机验证码var array = [["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"], ["0", "1", "2", "3", "4", "6", "7", "8", "9"]];var str = "";randomCode();// 点击更换验证码$(".code").click(function(){randomCode();});// 随机生成验证码function randomCode(){str = "";for (var i = 0; i < 4; i++) {// 随机生成一个下标var temp = Math.random();temp = temp < 0.5 ? Math.floor(temp) : Math.ceil(temp);var length = array[temp].length;//从任意值开始至任意值://parseInt(Math.random() * (上限-下限+1) + 下限);var index = parseInt(Math.random() * length);str += array[temp][index];}$(".code").html(str);}// 用户名正则表达式var uname_reg = /^[\u4e00-\u9fa5]{4,20}$|^[\dA-Za-z_\-]{4,20}$/;var uname_ok = false;// 用户名输入框获取焦点$("#uname").focus(function(){$(this).css("outline", "none");$(this).attr("placeholder", "");$(this).parent().css("border-color", "#999");$("#uname_error").css("color", "#c5c5c5");$("#uname_error").html("支持中文, 字母, 数字, \"-\", \"_\", 的组合, 4-20个字符");});$("#uname").blur(function(){if ($(this).val() == "") {$(this).attr("placeholder", "您的账户名和登录名");$("#uname_error").html("");uname_ok = false;} else if ($(this).val().length < 4 || $(this).val().length > 20) {// 长度不对$("#uname_error").html("长度只能在4-20个字符之间");$("#uname_error").css("color", "red");$(this).parent().css("border-color", "red");uname_ok = false;} else if (!$(this).val().match(uname_reg)) {// 有特殊字符$("#uname_error").html("格式错误, 仅支持中文, 字母, 数字, \"-\", \"_\"的组合");$("#uname_error").css("color", "red");$(this).parent().css("border-color", "red");uname_ok = false;} else {uname_ok = true;}});var pwd_reg = /^(?![A-Z]+$)(?![a-z]+$)(?!\d+$)(?![\W_]+$)\S{6,20}$/;var pwd_ok = false;// 密码输入框获取焦点$("#pwd").focus(function(){$(this).css("outline", "none");$(this).attr("placeholder", "");$(this).parent().css("border-color", "#999");$("#pwd_error").css("color", "#c5c5c5");$("#pwd_error").html("建议使用字母, 数字和符号两种及以上的组合, 6-20个字符");});$("#pwd").blur(function(){if ($(this).val() == "") {$(this).attr("placeholder", "建议至少使用两种字符组合");$("#pwd_error").html("");pwd_ok = false;} else if ($(this).val().length < 6 || $(this).val().length > 20) {// 长度不对$("#pwd_error").html("长度只能在6-20个字符之间");$("#pwd_error").css("color", "red");$(this).parent().css("border-color", "red");pwd_ok = false;} else if (!$(this).val().match(pwd_reg)) {// 不是两种及以上的组合$("#pwd_error").html("有被盗风险, 建议使用字母, 数字和符号两种及以上组合");$("#pwd_error").css("color", "red");$(this).parent().css("border-color", "red");pwd_ok = false;} else {pwd_ok = true;}});// 再次密码输入框获取焦点var confirm_pwd_ok = false;$("#confirm_pwd").focus(function(){$(this).css("outline", "none");$(this).attr("placeholder", "");$(this).parent().css("border-color", "#999");$("#confirm_pwd_error").css("color", "#c5c5c5");$("#confirm_pwd_error").html("请再次输入密码");});$("#confirm_pwd").blur(function(){if ($(this).val() == "") {$(this).attr("placeholder", "请再次输入密码");$("#confirm_pwd_error").html("");confirm_pwd_ok = false;} else if ($(this).val() != $("#pwd").val()) {// 再次输入的密码不一致$("#confirm_pwd_error").html("两次输入的密码不一致");$("#confirm_pwd_error").css("color", "red");$(this).parent().css("border-color", "red");confirm_pwd_ok = false;} else {confirm_pwd_ok = true;}});// 手机号码输入框获取焦点var phone_reg = /^1[3|4|5|7|8]\d{9}$/;var phone_ok = false;$("#phone").focus(function(){$(this).css("outline", "none");$(this).attr("placeholder", "");$(this).parent().css("border-color", "#999");$("#phone_error").css("color", "#c5c5c5");$("#phone_error").html("验证完成后, 可以使用该手机登录和找回密码");});$("#phone").blur(function(){if ($(this).val() == "") {$(this).attr("placeholder", "建议使用常用手机");$("#phone_error").html("");phone_ok = false;} else if ($(this).val().length != 11) {// 长度不对$("#phone_error").html("格式有错");$("#phone_error").css("color", "red");$(this).parent().css("border-color", "red");phone_ok = false;} else if (!$(this).val().match(phone_reg)) {// 输入的不是手机号码$("#phone_error").html("格式有错");$("#phone_error").css("color", "red");$(this).parent().css("border-color", "red");phone_ok = false;} else {phone_ok = true;}});// 验证码输入框获取焦点var code_ok = false;$("#code").focus(function(){$(this).css("outline", "none");$(this).attr("placeholder", "");$(this).parent().css("border-color", "#999");$("#code_error").css("color", "#c5c5c5");$("#code_error").html("看不清? 点击更换验证码");});$("#code").blur(function(){if ($(this).val() == "") {$(this).attr("placeholder", "建议使用常用手机");$("#code_error").html("");code_ok = false;} else if ($(this).val() != str) {// 输入错误的验证码$("#code_error").html("验证码输入错误");$("#code_error").css("color", "red");$(this).parent().css("border-color", "red");code_ok = false;} else {code_ok = true;}});// 是否同意协议$("#agreen").click(function(){//alert($("#agreen").att("checked"));if ($(this).attr('checked')) {$(this).attr('checked', false);} else {$(this).attr('checked', true);}});
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="white-space:pre">		</span>// 点击注册按钮, 向本页面提交数据</span>
	$("#btn").click(function(event) {/* Act on the event */if ($("#agreen").attr('checked') && uname_ok && pwd_ok && confirm_pwd_ok && phone_ok && code_ok) {$.ajax({url:"10_10zy.php",data:{uname:$("#uname").val(), pwd:$("#pwd").val(), phone:$("#phone").val()},type:"post",dataType:"text",success:function(result){}});} else {alert('信息输入不完整, 请核对');return false;}});
});
</script>
</pre><pre name="code" class="javascript">php处理数据
<pre name="code" class="php"><?php 
$dbServer = 'localhost:3306';
$dbUser = 'MySQL数据库连接名';
$dbPass = '密码';
$dbName = '要使用的数据库名';$conn = mysqli_connect($dbServer, $dbUser, $dbPass, $dbName);
mysqli_set_charset($conn, 'utf8')// 判断用户名, 密码, 手机号是否设置
if (isset($_POST['uname']) && isset($_POST['pwd']) && isset($_POST['phone'])) {// 根据用户名进行查询, 判断当前用户名是否存在$sql = "select * from users where u_name = '{$_POST['uname']}'";$res = mysqli_query($conn, $sql);// 用户名已经存在, 退出if (mysqli_num_rows($res) > 0) {die("此用户名已经存在<br/><button><a href=\"10_10zy.php\">返回</a></button>");} else {// 用户名不存在, 插入到数据库中$sql = "insert into users(u_name, u_pwd, u_phone) values('{$_POST['uname']}', '{$_POST['pwd']}', '{$_POST['phone']}')";$result = mysqli_query($conn, $sql);if ($result) {echo "注册成功<br/>";echo "<a href=\"10_10zy.php\"><button width:\"70px\">返回</button></a>";echo "<button><a href=\"10_10zy_login.php\">登录</a></button>";die();}}}?>


 
</pre><br /><br /><pre>
 

这篇关于仿京东的注册页面, 使用jQuery进行表单验证的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1127298

相关文章

Vue3 的 shallowRef 和 shallowReactive:优化性能

大家对 Vue3 的 ref 和 reactive 都很熟悉,那么对 shallowRef 和 shallowReactive 是否了解呢? 在编程和数据结构中,“shallow”(浅层)通常指对数据结构的最外层进行操作,而不递归地处理其内部或嵌套的数据。这种处理方式关注的是数据结构的第一层属性或元素,而忽略更深层次的嵌套内容。 1. 浅层与深层的对比 1.1 浅层(Shallow) 定义

Spring Security基于数据库验证流程详解

Spring Security 校验流程图 相关解释说明(认真看哦) AbstractAuthenticationProcessingFilter 抽象类 /*** 调用 #requiresAuthentication(HttpServletRequest, HttpServletResponse) 决定是否需要进行验证操作。* 如果需要验证,则会调用 #attemptAuthentica

百度/小米/滴滴/京东,中台架构比较

小米中台建设实践 01 小米的三大中台建设:业务+数据+技术 业务中台--从业务说起 在中台建设中,需要规范化的服务接口、一致整合化的数据、容器化的技术组件以及弹性的基础设施。并结合业务情况,判定是否真的需要中台。 小米参考了业界优秀的案例包括移动中台、数据中台、业务中台、技术中台等,再结合其业务发展历程及业务现状,整理了中台架构的核心方法论,一是企业如何共享服务,二是如何为业务提供便利。

这15个Vue指令,让你的项目开发爽到爆

1. V-Hotkey 仓库地址: github.com/Dafrok/v-ho… Demo: 戳这里 https://dafrok.github.io/v-hotkey 安装: npm install --save v-hotkey 这个指令可以给组件绑定一个或多个快捷键。你想要通过按下 Escape 键后隐藏某个组件,按住 Control 和回车键再显示它吗?小菜一碟: <template

中文分词jieba库的使用与实景应用(一)

知识星球:https://articles.zsxq.com/id_fxvgc803qmr2.html 目录 一.定义: 精确模式(默认模式): 全模式: 搜索引擎模式: paddle 模式(基于深度学习的分词模式): 二 自定义词典 三.文本解析   调整词出现的频率 四. 关键词提取 A. 基于TF-IDF算法的关键词提取 B. 基于TextRank算法的关键词提取

【 html+css 绚丽Loading 】000046 三才归元阵

前言:哈喽,大家好,今天给大家分享html+css 绚丽Loading!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏+关注哦 💕 目录 📚一、效果📚二、信息💡1.简介:💡2.外观描述:💡3.使用方式:💡4.战斗方式:💡5.提升:💡6.传说: 📚三、源代码,上代码,可以直接复制使用🎥效果🗂️目录✍️

使用SecondaryNameNode恢复NameNode的数据

1)需求: NameNode进程挂了并且存储的数据也丢失了,如何恢复NameNode 此种方式恢复的数据可能存在小部分数据的丢失。 2)故障模拟 (1)kill -9 NameNode进程 [lytfly@hadoop102 current]$ kill -9 19886 (2)删除NameNode存储的数据(/opt/module/hadoop-3.1.4/data/tmp/dfs/na

Hadoop数据压缩使用介绍

一、压缩原则 (1)运算密集型的Job,少用压缩 (2)IO密集型的Job,多用压缩 二、压缩算法比较 三、压缩位置选择 四、压缩参数配置 1)为了支持多种压缩/解压缩算法,Hadoop引入了编码/解码器 2)要在Hadoop中启用压缩,可以配置如下参数

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

Makefile简明使用教程

文章目录 规则makefile文件的基本语法:加在命令前的特殊符号:.PHONY伪目标: Makefilev1 直观写法v2 加上中间过程v3 伪目标v4 变量 make 选项-f-n-C Make 是一种流行的构建工具,常用于将源代码转换成可执行文件或者其他形式的输出文件(如库文件、文档等)。Make 可以自动化地执行编译、链接等一系列操作。 规则 makefile文件