首页 > JavaScript 表单与表单验证

JavaScript 表单与表单验证

JavaScript 表单


JavaScript 表单验证

HTML 表单验证可以通过 JavaScript 来完成。

 

以下实例代码用于判断表单字段(fname)值是否存在,如果存在,则弹出信息,否则阻止表单提交:

JavaScript 实例

function validateForm() { var x = document.forms["myForm"]["fname"].value; if (x == null || x == "") { alert("需要输入名字。"); return false; } }

以上 JavaScript 代码可以通过 HTML 代码来调用:

HTML 表单实例

<form name="myForm" action="demo_form.php" onsubmit="return validateForm()" method="post"> 名字: <input type="text" name="fname"> <input type="submit" value="提交"> form>





JavaScript 验证输入的数字

JavaScript 常用于对输入数字的验证:

请输入 1 到 10 之间的数字:

 提交

 




HTML 表单自动验证

HTML 表单验证也可以通过浏览器来自动完成。

如果表单字段 (fname) 的值为空, required 属性会阻止表单提交:

实例

<form action="demo_form.php" method="post"> <input type="text" name="fname" required="required"> <input type="submit" value="提交"> form>




Internet Explorer 9 及更早 IE 浏览器不支持表单自动验证。


数据验证

数据验证用于确保用户输入的数据是有效的。

典型的数据验证有:

  • 必需字段是否有输入?
  • 用户是否输入了合法的数据?
  • 在数字字段是否输入了文本?

大多数情况下,数据验证用于确保用户正确输入数据。

数据验证可以使用不同方法来定义,并通过多种方式来调用。

服务端数据验证是在数据提交到服务器上后再验证。

客户端数据验证 side validation是在数据发送到服务器前,在浏览器上完成验证。


HTML 约束验证

HTML5 新增了 HTML 表单的验证方式:约束验证(constraint validation)。

约束验证是表单被提交时浏览器用来实现验证的一种算法。

HTML 约束验证基于:

  • HTML 输入属性
  • CSS 伪类选择器
  • DOM 属性和方法

约束验证 HTML 输入属性

属性描述
disabled规定输入的元素不可用
max规定输入元素的最大值
min规定输入元素的最小值
pattern规定输入元素值的模式
required规定输入元素字段是必需的
type 规定输入元素的类型

完整列表,请查看 HTML 输入属性。

约束验证 CSS 伪类选择器

 

选择器描述
:disabled选取属性为 "disabled" 属性的 input 元素
:invalid选取无效的 input 元素
:optional选择没有"required"属性的 input 元素
:required选择有"required"属性的 input 元素
:valid选取有效值的 input 元素

 

关于多表单使用同一验证函数问题:

上面用 js 表单验证判断表单字段(fname)值是否存在,如果想多个表单都使用同一个函数调用,传入参数后功能会失效,希望有大佬能解决这个问题。

现在我在网上找到的替代方法如下:

function validateForm(form) {  var x = form.name.value; if (x == null || x == "") {  alert("输入不能为空!"); return false; } }

所有表单调用时都使用:

onsubmit="return validateForm(this)"













 


JavaScript 表单验证

JavaScript 可用来在数据被送往服务器前对 HTML 表单中的这些输入数据进行验证。

表单数据经常需要使用 JavaScript 来验证其正确性:

  • 验证表单数据是否为空?
  • 验证输入是否是一个正确的email地址?
  • 验证日期是否输入正确?
  • 验证表单输入内容是否为数字型?

必填(或必选)项目

下面的函数用来检查用户是否已填写表单中的必填(或必选)项目。假如必填或必选项为空,那么警告框会弹出,并且函数的返回值为 false,否则函数的返回值则为 true(意味着数据没有问题):

function validateForm() { var x=document.forms["myForm"]["fname"].value; if (x==null || x=="") { alert("姓必须填写"); return false; } }

以上函数在 form 表单提交时被调用:

实例

<form name="myForm" action="demo-form.php" onsubmit="return validateForm()" method="post"> 姓: <input type="text" name="fname"> <input type="submit" value="提交"> form>




 

E-mail 验证

下面的函数检查输入的数据是否符合电子邮件地址的基本语法。

意思就是说,输入的数据必须包含 @ 符号和点号(.)。同时,@ 不可以是邮件地址的首字符,并且 @ 之后需有至少一个点号:

function validateForm(){ var x=document.forms["myForm"]["email"].value; var atpos=x.indexOf("@"); var dotpos=x.lastIndexOf("."); if (atpos<1 || dotpos<atpos+2 || dotpos+2>=x.length){ alert("不是一个有效的 e-mail 地址"); return false; } }

下面是连同 HTML 表单的完整代码:

实例

<form name="myForm" action="demo-form.php" onsubmit="return validateForm();" method="post"> Email: <input type="text" name="email"> <input type="submit" value="提交"> form>

 

转载于:https://www.cnblogs.com/mrwuwu/p/9033744.html

更多相关:

  • http://outofmemory.cn/code-snippet/8408/python-regular-expression-replace-sub-method   我验证了它的方法,可行...

  • 1. 什么是Struts2 验证器 一个健壮的 web 应用程序必须确保用户输入是合法、有效的.Struts2 的输入验证 基于 XWork Validation Framework 的声明式验证:Struts2 提供了一些基于 XWork Validation Framework 的内建验证程序. 使用这些验证程序不需要编程, 只要...

  • 链接地址:http://blog.csdn.net/tjcyjd/article/details/48416405 验证数字:^[0-9]*$验证n位的数字:^d{n}$验证至少n位数字:^d{n,}$验证m-n位的数字:^d{m,n}$验证零和非零开头的数字:^(0|[1-9][0-9]*)$验证有两位小数的正实数:^[0-9...

  •   不少朋友在登陆DedeCMS后台的时候遇到验证码错误的问题,明明已经正确输入了,却提示错误,导致登录不进后台。如果遇到这个问题,可以通过下面的方法检测修复。 1、空间满了。我遇到的验证码错误都是空间满了,如果也遇到验证码错误的问题,可以先检查是否空间满了。 2、用ftp进入你的dedecms程序空间,把data/session目...

  • CentOS7自带的git版本1.8.3.1,这个版本有点低了。于是决定折腾升级, 实操记录在此: 1、确认你的当前git版本 在终端输入: git --version   2、使用root账号 在终端终入: su root 然后输入root账号的密码,注意linux下输密码时界面是没有变化的   3、配置存储库 启用Wa...

  • 今天做TJU的OJ ,其中一道题是先读入一个字符串,再读入一个整数,循环往复,直到字符串是空,也就是说回车键结束循环。 但是cin对空格和回车都不敏感,都不影响继续读入数据,所以需要一种新的方式检测回车。 方法一:利用getchar()函数 1 //**************************将输入的单词逆序输出*****...

  • 题目描述: 根据输入的运算符对输入的整数进行简单的整数运算。 运算符只会是加+、减-、乘*、除/、求余%、阶乘!六个运算符之一。 输出运算的结果,如果出现除数为零,则输出“error”,如果求余运算的第二个运算数为0,也输出“error”。 输入: 输入为一行。先输入第一个整数,空格输入运算符,然后再空格输入第二个整数,回车结束...

  • 1、调出命令窗口:开始---->运行---->cmd,或者是window+R组合键   2、输入命令:netstat -ano,列出所有端口的情况。在列表中我们观察被占用的端口,比如是4300,我们拿它来做实验。 3、查看被占用端口对应的PID,输入命令:netstat -aon|findstr "4300",回车,记下最后一位...

  • 关于这个问题其实我很早之前就研究过,只是一直都是弄一次就不管了,下次就忘记怎么弄了,又去查,现在就写个笔记吧。 win8/8.1 在开始的界面输入netplwiz,或者点击win+r打开运行,输入netplwiz,然后回车 会弹出这个框框 然后会然你输入密码,输入之后点击确定就可以了。   winXP/7: 这个系统有点不同 使用...

  • 首先我们要从model层开始写起,主要是为了创建验证规则,还有图片上传的路径以及图片的命名规则(UploadForm.php)     接下来我们要在控制器层写好业务逻辑,就是什么情况下直接在调用model层进行上传,一般失败的时候或者超出自己规定之外的都会跳转页面(UploadController.php)     最后,我们来...