/**
* 表单校验规则
* 不符合规则时,返回错误文案
* 符合规则时,返回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正则校验表单的更多相关文章

  1. jQuery form插件的使用--使用 fieldValue 方法校验表单

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <hea ...

  2. jQuery form插件的使用--用 formData 参数校验表单,验证后提交(简单验证).

    Form Plugin API 里提供了很多有用的方法可以让你轻松的处理表单里的数据和表单的提交过程. 测试环境:部署到Tomcat中的web项目. 一.引入依赖js <script src=& ...

  3. 关于vue.js element ui 表单验证 this.$refs[formName].validate()的问题

        方法使用前需了解: 来自”和“小编的小提示: 首先打印一下this.$refs[formName],检查是否拿到了正确的需要验证的form. 其次在拿到了正确的form后,检查该form上添加 ...

  4. 第十七篇 JS验证form表单

    JS验证form表单   这节课做一个实际的,项目里会遇到的东西,例如登录页面,我们输入‘用户名’和‘密码’或者‘手机号’还有‘验证码’等等,它都会做一个前端验证,比如验证码,是6位有效数字组成,那么 ...

  5. JS、jqueryie6浏览器下使用js无法提交表单的解决办法

    -----------------------JS.jqueryie6浏览器下使用js无法提交表单的解决办法---------------------------------------------- ...

  6. js/jquery/插件表单验证

    媳妇要学js,就收集一些资料给她. 1.js 表单验证 : http://hi.baidu.com/yanchao0901/item/161f563fb84ea5433075a1eb 2.jquery ...

  7. javascript将异步校验表单改写为同步表单

    同步表单校验的缺点 响应错误信息时,需要重新加载整个页面(虽然有缓存,客户端仍然需要通过http协议对比每个文件是否有更新,以保持文件最新) 服务器响应错误以后,用户之前所输入的信息全部丢失了,用户需 ...

  8. js模拟form表单提交数据, js模拟a标签点击跳转,避开使用window.open引起来的浏览器阻止问题

    js模拟form表单提交数据, js模拟a标签点击跳转,避开使用window.open引起来的浏览器阻止问题 js模拟form表单提交数据源码: /** * js模拟form表单提交 * @param ...

  9. 通过JS模拟select表单,达到美化效果[demo][转]

    转自: http://www.cnblogs.com/dreamback/p/SelectorJS.html 通过JS模拟select表单,达到美化效果 Demo ------------------ ...

随机推荐

  1. C++全排列函数next_permutation()和prev_permutation()

    头文件:#include<algorithm> * * * 1. next_permutation(): next_permutation()函数的返回类型是bool类型. 即:如果有一个 ...

  2. Rails工程实战记录

    项目git:https://github.com/yixiaoyang/ruby 为熟悉Rails的基本特性创建的工程,本博文仅作更新记录. (1)2013.10.1-2013.10.5 Ruby基本 ...

  3. IDEA 运行junit单元测试方法

    配置Run,增加Junit 最终配置如下:

  4. flask 参数校验

    校验参数是否存在,不存在返回400 @app.route('/check',methods=['POST']) def check(): values = request.get_json() req ...

  5. python爬虫-smtplib模块发送邮件

    1.代码如下: import smtplib from email.message from EmailMessage # smtplib模块负责发送邮件服务 # email.message模块负责构 ...

  6. 【Art】物理课题——虹吸

    前言(无关闲话):在此之前,课题小组讨论了三.四次,得有10个小时了总共,但是具体还是在普及常识,那就在这里深入地讲一下. 进入正题—— 这就是虹吸的基本模型,再看一下百度的官方说法: “虹吸(sip ...

  7. windows 10 右键菜单注册表位置

    1. 查找 1.1. 打开注册表 # 1. 使用快捷键打开 “运行” win + r # 2. 在 “运行” 中输入 regedit # 3. 回车 1.2. 点击 查找 # 1. 方法 1 : 点击 ...

  8. GoLand 设置与配置

    1. 将 tab 改为 4个空格 2. GoLand 取消 import 自动导入

  9. Golang 使用Protocol Buffer 案例

    目录 1. 前言 2. Protobuf 简介 2.1 Protobuf 优点 2.2 Protobuf 缺点 2.3 Protobuf Golang 安装使用 3. Protobuf 通讯案例 3. ...

  10. 前端H5,点击选择图片控件,图片直接在页面上展示~

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...