js正则校验表单
/**
* 表单校验规则
* 不符合规则时,返回错误文案
* 符合规则时,返回false
*/ var rules = {} // 是否必填
rules.required = function (value) {
return (!!value || value === 0) ? false : "请输入内容"
}; // 最大字符长度
rules.maxLength = function (value, size) {
var size = size || 256;
return String(value).length <= size ? false : ("最大不超过" + size + "个字符")
} // 只允许字母和数字
rules.onlyAlphabetic = function (value) {
var reg = /^[0-9a-zA-Z]+$/;
return reg.test(value) ? false : "只能输入字母和数字"
} // 只允许字母数字和下划线
rules.onlyAlphabeticUnderline = function (value) {
var reg = /^[0-9a-zA-Z_]+$/;
return reg.test(value) ? false : "只能输入字母、数字或下划线"
} // 只允许数字
rules.onlyNumber = function (value) {
var reg = /^[0-9]+$/;
return reg.test(value) ? false : "只能输入数字"
} // 只允许字母
rules.onlyLetter = function (value) {
var reg = /^[a-zA-Z]+$/;
return reg.test(value) ? false : "只能输入字母"
} // 特殊字符
rules.noSpecial = function (value) {
var regEn = /[`~!@#$%^&*()_+<>?:"{},.\/;'[\]]/im,
regCn = /[·!#¥(——):;“”‘、,|《。》?、【】[\]]/im;
return regEn.test(value) || regCn.test(value) ? false : "不能输入特殊字符"
} // 邮箱
rules.email = function (value) {
var reg = /^[a-zA-Z0-9_-]+@([a-zA-Z0-9]+\.)+(com|cn|net|org)$/;
return reg.test(value) ? false : "邮箱格式错误"
} // 手机号(以1开头的11位数字)
rules.phone = function (value) {
var reg = /^[1][3,4,5,7,8][0-9]{9}$/;
return reg.test(value) ? false : "手机格式错误"
} // 只允许汉字
rules.chinese = function (value) {
var reg = /^[\u4e00-\u9fa5]+$/;
return reg.test(value) ? false : "只能输入汉字"
} // 密码格式校验
rules.password = function (value) {
if (String(value).length < 6) {
return "密码长度不小于6位"
}
if (String(value).length > 18) {
return "密码长度不超过18位"
}
var level = 0;
if (value.search(/[a-z]/) > -1) {
level++; //密码中包含小写字母
}
if (value.search(/[A-Z]/) > -1) {
level++; //密码中包含大写字母
}
if (value.search(/[0-9]/) > -1) {
level++; //密码中包含数组
}
if (value.search(/[`~!@#$%^&*()_+<>?:"{},.\/;'[\]]/im) > -1) {
level++; //密码中包含特殊符号
}
if(level<2){
return "密码至少包含大写字母、小写字母、数字、标点符号中的两种"
}else{
return level; // 当前密码强度为level(2/3/4)
}
} export default rules;
js正则校验表单的更多相关文章
- jQuery form插件的使用--使用 fieldValue 方法校验表单
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <hea ...
- jQuery form插件的使用--用 formData 参数校验表单,验证后提交(简单验证).
Form Plugin API 里提供了很多有用的方法可以让你轻松的处理表单里的数据和表单的提交过程. 测试环境:部署到Tomcat中的web项目. 一.引入依赖js <script src=& ...
- 关于vue.js element ui 表单验证 this.$refs[formName].validate()的问题
方法使用前需了解: 来自”和“小编的小提示: 首先打印一下this.$refs[formName],检查是否拿到了正确的需要验证的form. 其次在拿到了正确的form后,检查该form上添加 ...
- 第十七篇 JS验证form表单
JS验证form表单 这节课做一个实际的,项目里会遇到的东西,例如登录页面,我们输入‘用户名’和‘密码’或者‘手机号’还有‘验证码’等等,它都会做一个前端验证,比如验证码,是6位有效数字组成,那么 ...
- JS、jqueryie6浏览器下使用js无法提交表单的解决办法
-----------------------JS.jqueryie6浏览器下使用js无法提交表单的解决办法---------------------------------------------- ...
- js/jquery/插件表单验证
媳妇要学js,就收集一些资料给她. 1.js 表单验证 : http://hi.baidu.com/yanchao0901/item/161f563fb84ea5433075a1eb 2.jquery ...
- javascript将异步校验表单改写为同步表单
同步表单校验的缺点 响应错误信息时,需要重新加载整个页面(虽然有缓存,客户端仍然需要通过http协议对比每个文件是否有更新,以保持文件最新) 服务器响应错误以后,用户之前所输入的信息全部丢失了,用户需 ...
- js模拟form表单提交数据, js模拟a标签点击跳转,避开使用window.open引起来的浏览器阻止问题
js模拟form表单提交数据, js模拟a标签点击跳转,避开使用window.open引起来的浏览器阻止问题 js模拟form表单提交数据源码: /** * js模拟form表单提交 * @param ...
- 通过JS模拟select表单,达到美化效果[demo][转]
转自: http://www.cnblogs.com/dreamback/p/SelectorJS.html 通过JS模拟select表单,达到美化效果 Demo ------------------ ...
随机推荐
- Thomson Plaza里面的三家店以及水果大会
旅行应该是一个发现的过程,至少我是这么认为的.很多时候并不一定要到什么特别的地方,也可以感受到旅游的乐趣.我觉得只要能看到值得回味的东西就好了.而能回味的东西,往往是需要仔细地来品.像旅行社安排的那样 ...
- Github 绑定域名添加https的方法 2019年9月更新
官方教程 https://help.github.com/en/articles/using-a-custom-domain-with-github-pages 打开 https://github.c ...
- Turn and Stun server · J
本文简介了Turnserver(Turn + Stun)服务器的搭建.Turnserver主要提供了stun服务,支撑NAT.防火墙穿透,turn服务器,支撑打洞失败时的数据中转.使用场景上类似于前端 ...
- Ubuntu 14.10 进入单用户模式
1. 开机,进入grub界面 2. 此时会有一个选项:Advanced Options for Ubuntu(ubuntu高级), 选中直接回车 3. 看到里面有很多选项,选中后面带recovery ...
- -scp Linux之间复制文件和目录
scp 简介 scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的.可能会稍微影响一下速 ...
- 【桌面篇】Archlinux安装kde桌面
ArchLinux安装配置手册[桌面篇] 现在你的U盘可以拔掉了,重启后会发现和刚刚没什么区别,还是命令行的界面,别着急现在就带你安装桌面环境. 连接网络 首先检查一下网络是否连接成功 ping ww ...
- Intellij IDEA 干货分享
更多视频详情:https://www.bilibili.com/video/av89385013/ Intellij IDEA 真是越用越强大 它总是在我们写代码的时候 不时给我们来个小惊喜 出于对 ...
- IP 数据报
IP 数据报 1.IP 数据报的格式 一个 IP 数据报由首部和数据两部分组成.(数据报也可以说是数据包) 首部的前一部分是固定长度,共 20 字节,是所有 IP 数据报必须具有的. 在首部的固定部分 ...
- sublime 安装Anaconda插件 配置python开发环境
我的sublime 3 python 3.6.6 安装Anaconda插件 由于Anaconda插件本身无法知道Python安装的路径,所以需要设置Python主程序的实际位置.选择Settings ...
- 攻防世界Mobile5 EasyJNI 安卓逆向CTF
EasyJNI 最近正好在出写JNI,正好看到了一道JNI相关的较为简单明了的CTF,就一时兴起的写了,不得不说逆向工程和正向开发确实是可以互补互相加深的 JNI JNI(Java Native In ...