• 密码必须为8到16位且必须包含数字和字母
  • 密码必须包含特殊字符【_&#%】
  • 不能连续字符(如123、abc)连续3位或3位以上
  • 不能相同字符(如111、aaa)连续3位或3位以上
/**
* 外层密码修改
*/
(function(){
var modifyPassword = {};//------这个可以自己去修改--不同的页面取名不一样
/**
* 进入页面后需要初始化的事件
*/
modifyPassword.initEvent = function(){
//获取传递的参数
var userId = getQueryString("user_id");
$("#user_id").val(userId);
}; do_submit = function(){
//序列话数据
var param = $('#modifPwd').serializeObject(); var user_id =($("#user_id").val()).trim();
var login_passwd_old = ($("#login_passwd_old").val()).trim();
var login_passwd_new = ($("#login_passwd_new").val()).trim();
var login_passwd_new_re = ($("#login_passwd_new_re").val()).trim();
//密码必须包含数字和字母
//密码长度8到16位
var regex = /(?=.*[0-9])(?=.*[a-zA-Z])(?=.*[^a-zA-Z0-9]).{8,16}/;
if(!regex.test(login_passwd_new)){
alert("您的工号为弱口令密码,请修改密码后登录");
return false;
}
//密码必须包含特殊字符 _&#%
if(!(login_passwd_new.indexOf("_")!=-1||login_passwd_new.indexOf("&")!=-1||login_passwd_new.indexOf("#")!=-1||login_passwd_new.indexOf("%")!=-1)){
alert("您的工号为弱口令密码,请修改密码后登录");
return false;
}
//不能连续字符(如123、abc)连续3位或3位以上
if(!LxStr(login_passwd_new)){
$.messager.alert("提示", "您的工号为弱口令密码,请修改密码后登录");
return false;
}
//不能相同字符(如111、aaa)连续3位或3位以上
var re = /(\w)*(\w)\2{2}(\w)*/g;
if(re.test(login_passwd_new)){
alert("您的工号为弱口令密码,请修改密码后登录");
return false;
}
if(login_passwd_old==login_passwd_new){
alert("新密码与旧密码重复");
return false;
}
if($.trim(login_passwd_new) != $.trim(login_passwd_new_re)){
alert("新密码与重复密码不一致");
return;
}
if(user_id==""){
return;
}
if(login_passwd_old==""||login_passwd_new==""){
alert("提示", "每一项都是必须填写的哟!");
return;
};
param.current_passwd = $.md5(param.login_passwd_old);
param.new_passwd = $.md5(param.login_passwd_new);
param.user = user_id
$.post(ctx+'/updatePassword.action',{user_id:user_id,current_passwd:$.md5(login_passwd_old),new_passwd:$.md5(login_passwd_new)},function(data){
if(data.code == '0000'){
alert("修改成功请重新登陆");
window.location = "/lms-base/login.jsp"
}else{
alert("修改失败");
}
},'json');
}
//不能连续字符(如123、abc)连续3位或3位以上
LxStr = function(str){
var arr = str.split('');
var flag = true;
for (var i = 1; i < arr.length-1; i++) {
var firstIndex = arr[i-1].charCodeAt();
var secondIndex = arr[i].charCodeAt();
var thirdIndex = arr[i+1].charCodeAt();
thirdIndex - secondIndex == 1;
secondIndex - firstIndex==1;
if((thirdIndex - secondIndex == 1)&&(secondIndex - firstIndex==1)){
flag = false;
}
}
if(!flag){
$("#message_").text("您的工号为弱口令密码,请修改密码后登录!");
return flag;
}
return flag;
}
getQueryString = function (name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
var r = window.location.search.substr(1).match(reg);
if ( r != null ){
return decodeURI(r[2]);
}else{
return null;
}
}
$.fn.serializeObject = function()
{
var o = {};
var a = this.serializeArray();
$.each(a, function() {
if (o[this.name]) {
if (!o[this.name].push) {
o[this.name] = [o[this.name]];
}
o[this.name].push(this.value || '');
} else {
o[this.name] = this.value || '';
}
});
return o;
};
/**
* 此方法挪到最后调用
*/
$(document).ready(function(){
modifyPassword.initEvent();
});
})();

JS密码校验规则前台验证(不能连续字符(如123、abc)连续3位或3位以上)(不能相同字符(如111、aaa)连续3位或3位以上)的更多相关文章

  1. jQuery Validate 表单验证插件----利用jquery.metadata.js将校验规则直接写在class属性里面并定义错误信息的提示

    一.下载依赖包 网盘下载:https://yunpan.cn/cryvgGGAQ3DSW  访问密码 f224 二. 添加一个另外一个插件jquery.metadata.js 并把校验规则写在控件里面 ...

  2. Form的is_valid校验规则及验证顺序

    一.验证顺序   查看form下的源码了解顺序 BaseForm为基类,中间包含了is_valid校验方法 @html_safe class BaseForm: ......... self.is_b ...

  3. element-ui做表单验证 v-for遍历表单 自动生成校验规则 pc移动双适配

    整体思路: 1:利用element-ui的栅格实现小分辨率和大分辨率的适配 2:模拟一组数据,从中筛选出 绑定各个表单值的对象   以及生成验证规则对象 3:在script标签内 .data()外,自 ...

  4. jQuery Validate 表单验证插件----通过name属性来关联字段来验证,改变默认的提示信息,将校验规则写到 js 代码中

    一.下载依赖包 网盘下载:https://yunpan.cn/cryvgGGAQ3DSW  访问密码 f224 二. 添加一个另外一个插件jquery.validate.messages_cn.js. ...

  5. js验证银行卡号 luhn校验规则

    <script type="text/javascript"> //luhn校验规则:16位银行卡号(19位通用): // 1.将未带校验位的 15(或18)位卡号从右 ...

  6. jQuery Validate 表单验证插件----在class属性中添加校验规则进行简单的校验

    一.下载插件包. 网盘下载:https://yunpan.cn/cryvgGGAQ3DSW  访问密码 f224 二.jQuery表单验证插件----添加class属性形式的校验 <!DOCTY ...

  7. jQuery Validate 验证,校验规则写在控件中的具体例子

    将校验规则写到控件中 <script src="../js/jquery.js" type="text/javascript"></scrip ...

  8. 使用JS对form的内容验证失败后阻止提交 &&js校验表单后提交表单的三种方法总结

    1.form的两个事件 submit,提交表单,如果直接调用该函数,则直接提交表单 onSubmit,提交按钮点击时先触发,然后触发submit事件.如果不加控制的话,默认返回true,因此表单总能提 ...

  9. jquery.validate.js之自定义表单验证规则

    <html> <head> <meta http-equiv="Content-Type" content="text/html; char ...

随机推荐

  1. SharePoint 取消分享时的默认发邮件

    前言 最近遇到一个需求,就是sharepoint默认分享的时候,会默认勾选发送邮件的功能.而用户,经常会用到分享的功能,但是不需要发送邮件,需要默认不勾选这个操作. 这样,就需要修改sharepoin ...

  2. 实用ExtJS教程100例-010:ExtJS Form异步加载和提交数据

    ExtJS Form 为我们提供了两个方法:load 和 submit,分别用来加载和提交数据,这两个方法都是异步的. 系列ExtJS教程持续更新中,点击查看>>最新ExtJS教程目录 F ...

  3. endnote插入参考文献后的对齐方式和缩进空格

    原文链接 https://jingyan.baidu.com/article/63acb44a3f0f6161fcc17ed0.html 1 2 3 4 5 6 7 分步阅读 1.endnote 导入 ...

  4. CF 329A(Purification-贪心-非DLX)

    A. Purification time limit per test 1 second memory limit per test 256 megabytes input standard inpu ...

  5. 第二十七章 springboot + zipkin(brave-okhttp实现)

    本文截取自:http://blog.csdn.net/liaokailin/article/details/52077620 一.前提 1.zipkin基本知识:附8 zipkin 2.启动zipki ...

  6. Shell编程之数组使用

    记录一下shell中数组的使用 主要是数组元素的创建,元素的增.删.改操作. #!/bin/bash #基本数组操作 a=( ) ##()表示空数组 ]} echo "所有元素: " ...

  7. 南阳ACM8-一种排序

    /* 一种排序 时间限制:3000 ms  |  内存限制:65535 KB 难度:3 描述 现在有很多长方形,每一个长方形都有一个编号,这个编号可以重复:还知道这个长方形的宽和长,编号.长.宽 都是 ...

  8. DevExpress的安装方法与破解教程【转】

    DevExpress是一个界面控件套件,提供了一系列的界面控件套件的DotNet界面控件.DevExpress开发的控件有很强的实力,不仅功能丰富,应用简单,而且界面华丽,更可方便订制,对于编程人员来 ...

  9. python3 杀死进程

    在windows10杀死进程:Shadowsocks.exe os.system('taskkill /f /im %s' % 'Shadowsocks.exe')

  10. 转:Parameter Server 详解

    Parameter Server 详解   本博客仅为作者记录笔记之用,不免有很多细节不对之处. 还望各位看官能够见谅,欢迎批评指正. 更多相关博客请猛戳:http://blog.csdn.net/c ...