JS简单表单验证
这里我是写了一个简单的注册表单验证功能,亲测有效,一起来看看吧!
首先我的HTML代码是这样的:
class大家可以忽略一下,这里我项目使用的是bootstrap的样式。
输入用户名和密码用的是正则表达式控制格式,在title里有描述。
最后一行的h6标签用来存放提示信息。
<form class="form-horizontal" v-on:submit="addUserNormal">
<div class="form-position">
<div class="form-group">
<span class="glyphicon glyphicon-user control-label col-sm-2"></span>
<div class="col-sm-6">
<input type="text" class="form-control" id="username"
placeholder="请输入用户名" pattern="^[a-zA-Z][a-zA-Z0-9_]{4,15}$" title="用户名格式为:字母开头,允许5-16字节,允许字母数字下划线" v-model="user.username">
</div>
</div>
<div class="form-group">
<span class="glyphicon glyphicon-question-sign control-label col-sm-2"></span>
<div class="col-sm-6">
<input type="password" class="form-control" id="password1"
placeholder="请输入密码" pattern="^[a-zA-Z][a-zA-Z0-9_]{4,15}$" title="密码请输入以字母开头,长度在5~17 之间,只能包含字符、数字和下划线组成的字符串" onpaste="javascript: return false;" v-model="user.password1">
</div>
</div>
<div class="form-group">
<span class="glyphicon glyphicon-question-sign control-label col-sm-2"></span>
<div class="col-sm-6">
<input type="password" class="form-control" id="password2"
placeholder="再次输入密码" pattern="^[a-zA-Z][a-zA-Z0-9_]{4,15}$" title="密码请输入以字母开头,长度在5~17 之间,只能包含字符、数字和下划线组成的字符串" onpaste="javascript: return false;" v-model="user.password2">
</div>
</div>
<div class="form-group middle">
<div class="col-sm-6">
<button type="submit" class="login-btn-position btn btn-block btn-success">新用户注册</button>
</div>
</div>
</div>
</form>
<h6 id="alert" class="alert"></h6>
这是我的函数,当点击提交时触发,由于获取json数据在network里明文显示了,那么这里我使用了md5加密,使用方法是加入js文件,括号里放字符串就能自动加密成密文,可以在注册后将输入的密码传回后台保存,登录时返回密文进行对比就行。这里要注意的是:md5加密是不可转回的,别人就算获取了你的密文也没办法破解你的密码,但是如果你的业务需求需要保存用户的密码可以使用其他加密方法。
解释补充在了注释里
addUserNormal(e){
var password1 = md5(this.user.password1);
var password2 = md5(this.user.password2);
var No = md5();
var num = 0;
var alertHtml = document.getElementById("alert");
if(!this.user.username){
alertHtml.innerHTML="用户名为空,请正确填写!";
alertHtml.style.display="block";
}
else if(password1 === No || password2 === No){//若有一个密码为空,则出现提示信息
alertHtml.innerHTML="密码为空,请正确填写!";
alertHtml.style.display="block";
}
else if(password1 != password2){//若密码不一致,则出现提示信息
alertHtml.innerHTML="密码不一致,请正确填写!";
alertHtml.style.display="block";
}
else{
for(var i = 0; i < this.users.length; i++){//遍历获得的总用户名
if(this.user.username === this.users[i].username){
num++; //r若有注册过,则num会变动
}
}
if(num != 0){
alert("用户名"+this.user.username+"已注册!");
//这里希望有注册的用户名后刷新页面
return;
}
let userNormal = {
username:this.user.username,
password:password1,
}
$.post("http://localhost:3000/userNormal",userNormal).
then(function(response){
// console.log(response);//传回成功信息
alert("用户"+userNormal.username+"注册成功!");
window.location.href="LoginNormal.html";
})
}
e.preventDefault();//这里好像是阻止了登录时候的刷新,如果你输入错了,这里还是有用处
}
加油啊柯基~
JS简单表单验证的更多相关文章
- ★★★【卡法 常用js库】: js汇合 表单验证 cookie设置 日期格式 电话手机号码 email 整数 小数 金额 检查参数长度
[卡法 常用js库]: js汇合 表单验证 cookie设置 日期格式 电话手机号码 email 整数 小数 金额 检查参数长度 // +---------------------- ...
- JS通用表单验证函数,基于javascript正则表达式
表单的验证在实际的开发当中是件很烦琐又无趣的事情今天在做一个小项目的时候,需要JS验证,寻找到一个比较好的东西 地址如下: http://blog.csdn.net/goodfunman/archiv ...
- 原生js的表单验证
最近在学原生的js,把一些练手的代码往博客放一放,权当积累经验,若有错漏,或是觉得浅显,大家不要见怪. 这是一个原生js编写的简单的表单验证: <!DOCTYPE html><htm ...
- 原生JS写表单验证提交功能
先上效果图: 表单的基础内容就是昵称判断.手机号判断.邮箱判断.身份证号码判断,这里是用到正则验证检验格式. 页面的表单写法就是一个form的提交.输入框用input来实现,输入内容用value来获取 ...
- js基础-表单验证和提交
基础知识: 原始提交如下: <form action="/login" method="post" id="form1"> &l ...
- 如何利用jQuery进行简单表单验证
<!DOCTYPE html><html><head><meta charset="utf-8"><meta name=&qu ...
- 表单提交学习笔记(二)—使用jquery.validate.js进行表单验证
一.官网下载地址:http://plugins.jquery.com/validate/ 二.用法 1.在页面上进行引用 <script src="~/scripts/jquery-1 ...
- js——form表单验证
用js实现一个简易的表单验证 效果: 代码: <html> <head> <title>js校验form表单</title> <meta char ...
- 原生js制作表单验证,基本的表单验证方法
表单验证是web前端最常见的功能之一,也属于前端开发的基本功.自己完成一个表单验证的开发,也有助于加深对字符串处理和正则表达式的理解. 基本的表单验证包括如:字母验证.数字验证.字母和数字验证.汉字验 ...
随机推荐
- Python如何利用Xpath进行解析
用Python做网络爬虫的时候,会对网页的信息进行提取,笔者接触的有正则表达式,BeautifulSoup,Xpath,前面两个都是在国内能够使用的,而Xpath是Chrome的一个插件,因此需要“F ...
- python中的特殊成员
python中的特殊成员: 小甲鱼论坛总结
- java保存繁体字到数据库时就报错Incorrect string value: '\xF0\xA6\x8D\x8B\xE5\xA4...' for column 'name' at row 1
问题分析 普通的字符串或者表情都是占位3个字节,所以utf8足够用了,但是移动端的表情符号占位是4个字节,普通的utf8就不够用了,为了应对无线互联网的机遇和挑战.避免 emoji 表情符号带来的问题 ...
- NETCLR via C#第四版(文摘)
第1部分 CLR基础 第1章 CLR的执行模型 第2章 生成,打包,部署和管理应用程序及类型 第3章 共享程序集和强命名程序集 第2部分 设计类型 第4章 类型 第5章 基元类型 引用类型和值类型 第 ...
- hdu6365 2018 Multi-University Training Contest 6 1004 Shoot Game
http://acm.hdu.edu.cn/showproblem.php?pid=6365 细节处理 unique返回的是最后一位的后一位,因此从1开始的数组要减去(p+1) 结构体可以用unqiu ...
- 查看mysql数据库中的所有用户
SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user; @前面为用户名,后面对应的‘% ...
- 使用 WLST 和节点管理器来管理服务器
使用节点管理器启动计算机上的服务器 WLST 可以连接至在任何计算机上运行的节点管理器,并能够在此计算机上启动一个或多个 WebLogic Server 实例.要通过此技术使用 WLST 和节点管理器 ...
- C(m,n)算法
排列组合:C(m,n),m为给定数列,n为要从数列m中取元素的数量,GetResult()获取所有不重复的组合. public class MathCombination<T> { Lis ...
- hibernate之查询
Query对象 方便的对数据库和持久化对象进行查询,两种表达方式:HQL和SQL; Query经常用来绑定查询参数,限制查询条数.并最终执行查询语句. HQL 查询一个简单类(查询所有) @Test ...
- kepware http接口 OCaml
读取某变量的值 open Cohttp_lwt_unix open Cohttp open Lwt let uri = Uri.of_string "http://127.0.0.1:393 ...