JS正则表达式验证表单

我们通常写的表单中,往往要判断用户填的是否符合要求,那么可以通过js的正则式来验证。js的正则式语法可参考菜鸟教程:JS正则表达式
下面是我的表单页面:
在这里插入图片描述

在点击下一步的时候,可以通过JS来控制下,如果不符合要求,则不进行跳转。下面代码中的变量名都是输入框所填项的英文,应该没歧义吧,我就不展示HTML部分了,直接给出js判断。

$(document).ready(function() {/*Fullscreen background*/$.backstretch("assets/img/backgrounds/1.jpg");$('#top-navbar-1').on('shown.bs.collapse', function(){$.backstretch("resize");});$('#top-navbar-1').on('hidden.bs.collapse', function(){$.backstretch("resize");});/*Form*/$('.registration-form fieldset:first-child').fadeIn('slow');$('.registration-form input[type="text"], .registration-form input[type="password"], .registration-form textarea').on('focus', function() {$(this).removeClass('input-error');});// next step$('.registration-form .btn-next').on('click', function() {var parent_fieldset = $(this).parents('fieldset');var next_step = true;//账号判断开始var user_id = $("#user-id");var length_userid = user_id.val().length;console.log(length_userid);if( length_userid > 16 || length_userid < 6 || !/^\w+$/.test(user_id.val())){user_id.addClass('input-error');$.jGrowl("账号填写错误!", {position:'bottom-right'});next_step = false;return;}else{$.ajaxSettings.async = false;$.post("postFunction.php?action=checkUser",{user_id:user_id.val()}, function (data) {console.log(data);if($.trim(data) === "error"){user_id.addClass('input-error');$.jGrowl("该账号已被注册!", {position:'bottom-right'});next_step = false;return;}else{user_id.removeClass('input-error');}//昵称判断开始var nick = $("#nick");var length_nick = nick.val().length;console.log(length_nick);if( length_nick > 10 || length_nick < 1 || /[\s>?<]/.test(nick.val())){$.jGrowl("昵称填写错误!", {position:'bottom-right'});nick.addClass('input-error');next_step = false;return;}else{user_id.removeClass('input-error');}//昵称判断结束//学校判断开始var school = $("#school");var length_school = school.val().length;console.log(length_school);if( length_school < 1){$.jGrowl("学校填写错误!", {position:'bottom-right'});school.addClass('input-error');next_step = false;return;}else{school.removeClass('input-error');}//学校判断结束//班级判断开始var class1 = $("#class");var length_class = class1.val().length;console.log(length_class);if( length_class < 1){$.jGrowl("班级填写错误!", {position:'bottom-right'});class1.addClass('input-error');next_step = false;return;}else{class1.removeClass('input-error');}//学校判断结束//密码判断开始var password = $("#password"), repeat_password = $("#repeat-password");var length_password = password.val().length;console.log(length_password);if( length_password < 6 || length_password > 16 || password.val() !== repeat_password.val()){$.jGrowl("密码填写错误!", {position:'bottom-right'});password.addClass('input-error');repeat_password.addClass('input-error');next_step = false;return;}else{password.removeClass('input-error');repeat_password.removeClass('input-error');}//密码判断结束//邮箱判断开始var email = $("#email");var length_email = email.val().length;console.log(length_email);if( length_email < 1 || !/^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/.test(email.val())){$.jGrowl("邮箱填写错误!", {position:'bottom-right'});school.addClass('input-error');next_step = false;return;}else{email.removeClass('input-error');}//邮箱判断结束//手机号判断开始var tel = $("#tel");var length_tel = tel.val().length;console.log(length_tel);if( length_tel != 11 || !/^1(3|4|5|6|7|8|9)\d{9}$/.test(tel.val())){$.jGrowl("手机号填写错误!", {position:'bottom-right'});tel.addClass('input-error');next_step = false;return;}else{$.ajaxSettings.async = false;var params = {user: '新用户',template:489148,tel:tel.val(),type:'register'};$.post("duanxin/sendSMS.php",params, function (data) {console.log(data);if($.trim(data) !== "success"){$.jGrowl(data, {position:'bottom-right'});tel.addClass('input-error');next_step = false;return;}else{tel.removeClass('input-error');}});$.ajaxSettings.async = true;}//手机号判断结束if( next_step ) {parent_fieldset.fadeOut(400, function() {$(this).next().fadeIn();});}});$.ajaxSettings.async = true;}//账号判断结束});// previous step$('.registration-form .btn-previous').on('click', function() {$(this).parents('fieldset').fadeOut(400, function() {$(this).prev().fadeIn();});});// submit$('.registration-form').on('submit', function(e) {//判断短信验证码,此处判断貌似无效,改放到后台操作var sms = $("#sms");var length_sms = sms.val().length;if( length_sms !== 6 || !/^\d{9}$/.test(sms.val())){$.jGrowl("验证码填写错误!", {position:'bottom-right'});sms.addClass('input-error');next_step = false;}else{$.ajaxSettings.async = false;$.post("postFunction.php?action=checkSMS",{sms:sms.val()}, function (data) {console.log(data);if(!data) {e.preventDefault();$.jGrowl("验证码填写错误!", {position:'bottom-right'});sms.addClass('input-error');$("#pre").click();}else {sms.removeClass('input-error');}});$.ajaxSettings.async = true;}});});

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/143432.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

最全JS正则表达式验证

Js代码 <script type"text/javascript"> function SubmitCk() { var reg /^([a-zA-Z0-9][_|\_|\.]?)*[a-zA-Z0-9]([a-zA-Z0-9][_|\_|\.]?)*[a-zA-Z0-9]\.[a-zA-Z]{2,3}$/; if (!reg.test($("#txtEmail").val())) { alert("请输入正确邮箱地…

JS正则表达式 验证邮箱

精简而全面&#xff0c;用js的时候很实用&#xff0c;面试可能会考哦&#xff08;前几天赶集网面试求url正则表达式&#xff0c;表示写出来的东西不和规范&#xff09;~ 转自&#xff1a; http://www.cnblogs.com/morningwang/archive/2007/07/27/833810.html 对于我们做WEB开发…

JS之正则表达式之邮箱的验证

<!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><title>Document</title> </head> <body><input type"text" placeholder"请输入邮箱" id"email">…

Mysql 唯一索引的字段值 允许多个NULL值存在吗

MYSQL 引擎innodb &#xff0c;设置了唯一索引的列值 允许 多个NULL值存在。 示例&#xff1a; 字段 userCardNum 添加了唯一索引 证实是允许存在的多个NULL值数据的&#xff1a; 原由&#xff1a; 因为这里 NULL 的定义 &#xff0c;是指 未知值。 所以多个 NULL &#xff…

Mysql唯一索引不区分大小写问题

一、问题描述&#xff1a; 表里某字段设置了唯一索引&#xff0c;在插入的时候报唯一索引重复异常 二、原因分析&#xff1a; 经排查发现&#xff0c;插入的一批数据里面&#xff0c;存在英文字母相同&#xff0c;大小写不同的数据。 如下&#xff0c;sm 和 SM 只是大小写不同&…

MySQL - 唯一索引

唯一索引 所谓唯一索引&#xff0c;就是在创建索引时&#xff0c;限制索引的字段值必须是唯一的。通过该类型的索引可以比普通索引更快速地查询某条记录。 1. 创建表时定义索引 CREATE TABLE tablename(propname1 type1,……propnamen type..n,UNIQUE INDEX | KEY [indexname] …

mysql唯一索引与null

1、建表 CREATE TABLE test_user (id bigint(20) unsigned NOT NULL AUTO_INCREMENT,name varchar(255) NOT NULL,age int(11) DEFAULT NULL,PRIMARY KEY (id),UNIQUE KEY name (name,age) ) ENGINEInnoDB AUTO_INCREMENT6 DEFAULT CHARSETutf8mb4; 添加数据 INSERT INTO te…

mysql添加多字段唯一索引吗_mysql多字段唯一索引

项目中需要用到联合唯一索引: 例如:有以下需求:每个人每一天只有可能产生一条记录:处了程序约定之外,数据库本身也可以设定: 例如:user表中有userID,userName两个字段,如果不希望有2条一模一样的记录,需要给user表添加多个字段的联合唯一索引: alter table user add nuique ind…

MySQL 普通索引和唯一索引的区别详解

1 概念区分 普通索引和唯一索引 普通索引可重复&#xff0c;唯一索引和主键一样不能重复。 唯一索引可作为数据的一个合法验证手段&#xff0c;例如学生表的身份证号码字段&#xff0c;我们人为规定该字段不得重复&#xff0c;那么就使用唯一索引。&#xff08;一般设置学号字…

别踩坑!使用MySQL唯一索引请注意

背景 在程序设计中&#xff0c;我们往往需要确保数据的唯一性&#xff0c;比如在常见的注册模块&#xff0c;我们需要确保一个手机号只能注册为一个账号。这种情况下&#xff0c;我们的程序往往是第一道关卡&#xff0c;用户来注册之前&#xff0c;首先判断这个手机号是否已经…

mysql 唯一索引 死锁_MySQL死锁案例_唯一索引

近期在MySQL数据库中产生了死锁的情况&#xff0c;与通常的死锁不同&#xff0c;由于表中有唯一索引&#xff0c;所以加锁方式也比较有趣&#xff0c;本文将对于该例进行阐述(本文将对数据进行脱敏操作)&#xff1a; 问题描述:隔离级别&#xff1a;READ-COMMITTED 表结构&#…

聊聊mysql唯一索引的哪些坑,为什么还是产生重复数据?

前言 前段时间我踩过一个坑&#xff1a;在mysql8的一张innodb引擎的表中&#xff0c;加了唯一索引&#xff0c;但最后发现数据竟然还是重复了。 到底怎么回事呢&#xff1f; 本文通过一次踩坑经历&#xff0c;聊聊唯一索引&#xff0c;一些有意思的知识点。 1.还原问题现场 …

MySQL普通索引与唯一索引

MySQL普通索引与唯一索引 1. MySQL普通索引与唯一索引区别2. MySQL普通索引与唯一索引选择 1. MySQL普通索引与唯一索引区别 MySQL索引详解 MySQL索引分为很多种&#xff0c;常见的有主键索引与非主键索引&#xff0c;主键索引也就是我们常说的聚簇索引&#xff0c;主键索引叶…

MySQL | 普通索引和唯一索引,应该怎么选择?

在前面的基础篇文章中&#xff0c;我给你介绍过索引的基本概念&#xff0c;相信你已经了解了唯一索引和普通索引的区别。今天我们就继续来谈谈&#xff0c;在不同的业务场景下&#xff0c;应该选择普通索引&#xff0c;还是唯一索引&#xff1f; 假设你在维护一个市民系统&…

【MySQL】轻松学习 唯一索引

目录 &#x1f340;&#x1f340;&#x1f340;&#x1f340;&#x1f340; 引言&#xff1a;什么是索引 一、唯一索引概述 二、创建唯一索引 1.创建表时创建唯一索引 唯一索引与unique约束共存时 2、已存在的表上创建索引 2.1、使用create语句 2.2、使用alter table语句 引…

mysql索引(七)唯一索引

Mysql索引大概有五种类型&#xff1a; 普通索引(INDEX)&#xff1a;最基本的索引&#xff0c;没有任何限制 唯一索引(UNIQUE)&#xff1a;与"普通索引"类似&#xff0c;不同的就是&#xff1a;索引列的值必须唯一&#xff0c;但允许有空值。 主键索引(PRIMARY)&…

MySQL数据库-表索引-唯一索引

所谓唯一索引&#xff0c;就是在创建索引时&#xff0c;限制索引的字段值必须是唯一的。通过该类型的索引可以比普通索引更快的查询某条记录。 创建表时定义索引 语法&#xff1a; CREATE TABLE tablename( propName1 type1, propName2 type2, ... UNIQUE INDEX|KEY [indexn…

word文档图标变成白色

word文档图标变成白色&#xff0c;有可能是电脑上既有microsoft office&#xff0c;又安装又WPS&#xff08;WPS比较流氓&#xff0c;会篡改注册表中图标的路径&#xff0c;下图打个比方&#xff09; 图标路径被修改后&#xff0c;容易与office发生冲突&#xff0c;就会出现两种…

Word图表自动编号

1.选择【引用】菜单&#xff0c;然后点击【插入题注】。 2.弹出 【题注对话框】&#xff0c;点击【新建标签】。 3.弹出【新建标签】对话框&#xff0c;输入需要的【标签】&#xff0c;点击确定。如图所示&#xff0c;比如第一章的图&#xff0c;就输入 【图 1-】。 4.回到“题…

Java操作Word图表

一、POM <dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>4.1.0</version></dependency><dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml…