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前端最常见的功能之一,也属于前端开发的基本功.自己完成一个表单验证的开发,也有助于加深对字符串处理和正则表达式的理解. 基本的表单验证包括如:字母验证.数字验证.字母和数字验证.汉字验 ...
随机推荐
- Win8.1无法安装更新,提示0x800*****错误的解决方法
Win8.1无法安装更新,提示0x800*****错误的解决方法 注:本教程同样适用于Win10系统 有时候Win8.1某个系统文件的损坏会导致无法安装Windows更新,表现为Windows更新 ...
- 2018.10.25 atcoder Leftmost Ball(计数dp+组合数学)
传送门 dp妙题啊. 我认为DZYODZYODZYO已经说的很好了. 强制规定球的排序方式. 然后就变成了一个求拓扑序数量的问题. 代码: #include<bits/stdc++.h> ...
- Matlab编辑器背景修改
将下段代码如到C:\Users\Peng Chen\AppData\Roaming\MathWorks\MATLAB\R2016a\matlab.prf 先备份.prf,再替代之前的. #MATLAB ...
- PLSQL Developer对oracle中的数据进行备份恢复
1.备份数据结构 --进入 工具-->导出用户对象 如图所示 把包括所有者的√去掉,到时候我们就可以随便建一个用户导入数据了,不一定非要scott用户 2.备份数据 工具-->导出 ...
- s5-11 距离矢量路由选择协议
距离矢量路由选择(Distance Vector:DV) 每个路由器维护一张表,表中列出了当前已知的到每个目标 的最佳距离,以及为了到达那个目标,应该从哪个接口转发. 距离矢量路由选择(Distanc ...
- js实现百度搜索框滑动固定顶部
现在很多主流系统例如百度.有道.爱奇艺等的搜索框都有一个特点,滑动到刚好看不到搜索框时,固定搜索框到顶部,这也算是一个对用户友好型的操 作. 在看了百度的js和css后自己摸索出来实现效果,还是学艺不 ...
- oracle 11g中文乱码解决的办法一
oracle中文乱码解决的办法 正常安装完oracle客户端后,插入数据时,发现中文都是问号. PLL/SQL中输入select userenv('LANGUAGE') From Dual,结果为AM ...
- 阿里云存储oss+怎么上传找文件夹
最近公司做工程项目,实现文件夹云存储上传. 网上找了很久,发现网上很多项目都存在相似问题,最后终于找到了一个符合我要求的项目. 工程如下: 这里对项目的文件夹云存储上传进行分析,实现文件夹上传,如何进 ...
- Is Docker Good for Your Database?
https://dzone.com/articles/is-docker-good-for-your-database
- day32(表单校验js和jquery表单校验)
校验用户名.密码.密码一直性. <style> .error { color: red } .success { color: green } </style> <scr ...