原生js制作表单验证的方法是什么

介绍

这篇文章将为大家详细讲解有关原生js制作表单验证的方法是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

表单验证是web前端最常见的功能之一,也属于前端开发的基本功。自己完成一个表单验证的开发,也有助于加深对字符串处理和正则表达式的理解。

基本的表单验证包括如:字母验证,数字验证,字母和数字验证,汉字验证,密码验证,日期验证,手机验证,邮箱验证,密码验证等。

现在就来完成这些验证代码的编写,先来看字母是怎么验证的。先编写需要的html代码,创建一个id为formContainer的表单元素,在里面加入需要验证英文字母的文本框和按钮,文本框后面需要一个跨度元素存放提示文字。如下所示:

 & lt; form  action=啊? id=癴ormContainer"祝辞,& lt; dl>,, & lt; dt>英文字母:& lt;/dt>,, & lt; dd> & lt; input 类型=皌ext", id=皏erifyEn"祝辞& lt; span> & lt;/span> & lt;/dd>,, & lt; dd>,, & lt; input 类型=皊ubmit", value=https://www.yisu.com/zixun/碧峤弧?     


开发的时候,一步一步分析功能再去实现,可以保持清晰的思路。

1。获取表单元素及文本框元素,如下所示:

 var  eFormContainer =, . getelementbyid (& # 39; formContainer& # 39;); var  eVerifyEn =, . getelementbyid (& # 39; verifyEn& # 39;); 


, 2。给表单元素绑定提交事件,用于点击提交按钮时,进行验证。

 eFormContainer.addEventListener(& # 39;提交# 39;函数(事件){,});


本实例要求当通过验证时,弹出提示通过验证,如果验证没有通过时,光标定位到文本框,并在文本框后显示验证失败的提示。接下来看下在提交事件函数中,具体怎么样做。

, 3。先在函数中声明相关变量并获取文本框的值.bPass变量用于判断是否可通过验证;sPrompt变量是提示文字;sValue变量是文本框的值,如下所示:

 eFormContainer.addEventListener(& # 39;提交# 39;函数(事件){,var  bPass =, false;, var  sPrompt =, & # 39; & # 39;;, var  sValue =, eVerifyEn.value;}); 


, 4。不允许文本框为空,判断sValue是不是空字符串,如果是则在文本框后显示提示,并且激活文本框,还需要阻止后续操作和默认行为,代码如下:

 eFormContainer.addEventListener(& # 39;提交# 39;函数(){/*大敌;……,*/,,如果(sValue.trim()==& # 39; & # 39;){//修才能改提示文字,,sPrompt =, & # 39;英文字母不能为空! & # 39;,,,//光标定位到字母文本框,,eVerifyEn.focus();,,//在文本框后显示提示文字,,//获取文本框父元素,,let  eParent =, eVerifyEn.parentElement;,,//获取存放提示的跨度元素,,let  eSpan =, eParent.getElementsByTagName(& # 39;跨度# 39;)[0];,,//在跨度元素中添加提示,,eSpan.innerHTML =, sPrompt;,,//阻止表单提交,,event.preventDefault();,,//阻止后续代码的执行,,回报,,},});


5。判断输入的值是否符合规则,即只有英文字母没有其他字符。在这里声明一个正则表达式,用于判断是否都是英文字母。如下所示:

 eFormContainer.addEventListener(& # 39;提交# 39;函数(){/*大敌;……,*/,,//声明正则,并判断字符串是否都是英文字母,let  reg =,/^ [a-zA-Z] + $/;, bPass =, reg.test (sValue);,}); 


6。根据正则判断结果,执行通过或阻止提交。

 eFormContainer.addEventListener(& # 39;提交# 39;函数(){/*大敌;……,*/,,如果(bpas){//才能通过验证弹出提示,,警报(& # 39;通过验证& # 39;);,}其他{//修才能改提示文字,,sPrompt =, & # 39;只能输入英文字母! & # 39;,,,//光标定位到字母文本框,,eVerifyEn.focus();,,//在文本框后显示提示文字,,//获取文本框父元素,,let  eParent =, eVerifyEn.parentElement;,,//获取存放提示的跨度元素,,let  eSpan =, eParent.getElementsByTagName(& # 39;跨度# 39;)[0];,,//在跨度元素中添加提示,,eSpan.innerHTML =, sPrompt;,,//阻止表单提交,,event.preventDefault ();,},}); 


7。null

原生js制作表单验证的方法是什么