1、表单校验步骤

(1)确定事件(submit事件),创建一个函数并和该事件绑定。

(2)书写函数对输入的数据是否合法进行校验(需要设定ID并通过ID来获取用户输入的数据的值)。

(3)输入的信息合法,可以正常提交;不合法的话,不能提交用户信息并给出提示信息。

2、校验函数

(1)非空校验:

通过ID获取值,对是否为空进行校验。

复制代码

1 var uValue = document.getElementById("user").value;

2 if(uValue""){

3 alert("用户名不能为空!");

4 return false;

5 }

6

7 var pValue = document.getElementById("password").value;

8 if(pValue""){

9 alert("密码不能为空!");

10 return false;

11 }

复制代码

相应的表单中要设置ID属性,以便通过ID获取表单中的数据。

复制代码

1

2

3 用户名

4

5

6

7

8

9

10

11

12 密码

13

14

15

16

17

复制代码

(2)确认密码校验:

1 var rpValue = document.getElementById("repassword").value;

2 if(rpValue!=pValue){

3 alert("两次密码输入不一致!");

4 return false;

5 }

(3)邮箱格式校验(正则表达式:https://www.cnblogs.com/zhai1997/p/11354683.html):

1 var eValue = document.getElementById("email").value;

2 if(!/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+/.test(eValue)){

3 alert("邮箱格式不正确!");

4 return false;

5 }

完整代码

复制代码

1

2

3

4

5 注册页面

6

33

34

35

36

37 <td height="600px" ">

38

39

40

41

44

47

48

49

50

53

56

57

58

59

62

65

66

67

68

71

74

75

76

77

80

83

84

85

86

89

93

94

95

96

99

102

103

104

105

110

111



42 用户名

43


45

46


51 密码

52


54

55


60 确认密码

61


63

64


69 Email

70


72

73


78 姓名

79


81

82


87 性别

88


90 男

91 女

92


97 出生日期

98


100

101


106

107

108

109

112

113

114

115

116

117

复制代码

4、改进

以上方法只有在提交的时候才能发现数据的错误,对于用户来说很不方便,以下的改进代码可以增加页面的用户友好性:

复制代码

1

2

3

4

5 注册页面

6

20

21

22

23

24 <td height="600px" ">

25

26

27

28

31

37

38

39

40

43

49

50

51

52

55

58

59

60

61

64

67

68

69

70

73

76

77

78

79

82

86

87

88

89

92

95

96

97

98

103

104



29 用户名

30


32 <input type="text" name="user" size="34px" id="user"

33 onfocus="showTips('user','用户名必填!')"

34 onblur="check('user','用户名不能为空!')"/>

35

36


41 密码

42


44 <input type="password" name="password" size="34px" id="password"

45 onfocus="showTips('password','密码必填')"

46 onblur="check('password','密码不能为空!')"/>

47

48


53 确认密码

54


56

57


62 Email

63


65

66


71 姓名

72


74

75


80 性别

81


83 男

84 女

85


90 出生日期

91


93

94


99

100

101

102

105

106

107

108

109

110

js:表单校验(获取元素、事件)的更多相关文章

  1. Vue.js表单校验;动画指令;避免内存泄露。

    Vue.js表单校验: 动画指令:创建自定义的滚动指令. 避免内存泄露. 避免内存泄露 在单页面应用开发时SPA,用户无需刷新浏览器.所以javascript应用需要自行清理组件来防止内存占用不断增长 ...

  2. 【转】vue.js表单校验详解

    官方文档:https://monterail.github.io/vuelidate/ https://github.com/monterail/vuelidate 1.npm安装vue-valida ...

  3. js-动态表单校验-吐血总结最近遇到的变态表单校验2---element+原生

    上一部分总结了基础常用的js表单校验,包括原生以及框架,下面来总结这一个月涉及到的动态校验: 动态表单校验大致分为三种情况: 1. 首先是固定校验规则,但是表单组件是动态生成的,例如:在表单或者表格里 ...

  4. vue.js基础知识篇(7):表单校验详解

    目录 网盘 第12章:表单校验 1.npm安装vue-validator $ npm install vue-validator 代码示例: var Vue=require("vue&quo ...

  5. Vee-validate 父组件获取子组件表单校验结果

    vee-validate 是为 Vue.js 量身打造的表单校验框架,允许您校验输入的内容并显示对应的错误提示信息.它内置了很多常见的校验规则,可以组合使用多种校验规则,大部分场景只需要配置就能实现开 ...

  6. js监听input等表单输入框的变化事件oninput

    js监听input等表单输入框的变化事件oninput,手机页面开发中使用到文本框textarea输入字符监听文本框变化计算还可以输入多少字符,如果使用onkeyup的话是无法监听到输入法输入的文本变 ...

  7. day32(表单校验js和jquery表单校验)

    校验用户名.密码.密码一直性. <style> .error { color: red } .success { color: green } </style> <scr ...

  8. Vue.js + Nuxt.js 项目中使用 Vee-validate 表单校验

    vee-validate 是为 Vue.js 量身打造的表单校验框架,允许您校验输入的内容并显示对应的错误提示信息.它内置了很多常见的校验规则,可以组合使用多种校验规则,大部分场景只需要配置就能实现开 ...

  9. 表单校验--js部分

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/stri ...

随机推荐

  1. 第一次个人编程作业:我的分数我做主 - 软件工程与 UML

    博客班级 https://edu.cnblogs.com/campus/fzzcxy/2018SE1 作业要求 https://edu.cnblogs.com/campus/fzzcxy/2018SE ...

  2. 解决IDEA更新为最新的2020.3版后,右键运行居然没有以xml形式运行的Run显示

    一.前言 个人一直喜欢用IDEA最新版,结果更新后,发现TestNg批量执行,选中testng.xml右键没Run,如下图: 刚开始以为是配置错误呢,下载了2018.2版本的IDEA,还能正常运行,于 ...

  3. ModelViewSet里的过滤、排序、分页、序列化设置

    1.DRF初始化 1.认证 2.权限 3.限流 4.序列化 5.分页 6.版本  7.过滤 8.排序 1.1安装DjangoRestFramework pip install djangoresfra ...

  4. 第8.30节 重写Python __setattr__方法实现属性修改捕获

    一. 引言 在<第8.26节 重写Python类中的__getattribute__方法实现实例属性访问捕获>章节介绍了__getattribute__方法,可以通过重写该方法,截获所有通 ...

  5. PyQt(Python+Qt)学习随笔:树型部件QTreeWidget中判断项是否首列跨所有列展示的isFirstItemColumnSpanned方法

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 在前面<PyQt(Python+Qt)学习随笔:QTreeWidgetItem项是否首列跨所有 ...

  6. 第15.12节PyQt(Python+Qt)入门学习:可视化设计界面组件布局详解

    一.引言 在Qt Designer中,在左边部件栏的提供了界面布局相关部件,如图: 可以看到共包含有四种布局部件,分别是垂直布局(Vertical Layout).水平布局(Horizontal La ...

  7. 【题解】NOI 系列题解总集

    每次做一道 NOI 系列的估计都很激动吧,对于我这种萌新来说( P1731 [NOI1999]生日蛋糕 练习剪枝技巧,关于剪枝,欢迎看我的垃圾无意义笔记 这道题是有一定难度的,需要运用各种高科技剪枝( ...

  8. Linux 批量创建user和批量删除用户

    Linux 批量创建user和批量删除用户 以下为批量创建用户: #首先我们需要创建一个xxx.txt文件,把需要的我们创建的用户写在这个文本里面来,注意:每写完一个用户都需要换行. vim user ...

  9. nginx 静态化合集(去掉index.php目录)

    访问某域名时,去掉index.php目录时达到效果一样 如:www.test1/index.php/test2跟www.test1/test2效果一致 在vhosts.conf中加重写就可以了 loc ...

  10. python程序的三种控制结构

    程序的三种控制结构 什么是控制结构? """ 程序有三种基本结构组成:顺序结构.分支结构.循环结构.任何程序都是由这三种基本结构组成. 顺序结构是程序按照线性顺序依次执行 ...