JS密码校验规则前台验证(不能连续字符(如123、abc)连续3位或3位以上)(不能相同字符(如111、aaa)连续3位或3位以上)
- 密码必须为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位以上)的更多相关文章
- jQuery Validate 表单验证插件----利用jquery.metadata.js将校验规则直接写在class属性里面并定义错误信息的提示
一.下载依赖包 网盘下载:https://yunpan.cn/cryvgGGAQ3DSW 访问密码 f224 二. 添加一个另外一个插件jquery.metadata.js 并把校验规则写在控件里面 ...
- Form的is_valid校验规则及验证顺序
一.验证顺序 查看form下的源码了解顺序 BaseForm为基类,中间包含了is_valid校验方法 @html_safe class BaseForm: ......... self.is_b ...
- element-ui做表单验证 v-for遍历表单 自动生成校验规则 pc移动双适配
整体思路: 1:利用element-ui的栅格实现小分辨率和大分辨率的适配 2:模拟一组数据,从中筛选出 绑定各个表单值的对象 以及生成验证规则对象 3:在script标签内 .data()外,自 ...
- jQuery Validate 表单验证插件----通过name属性来关联字段来验证,改变默认的提示信息,将校验规则写到 js 代码中
一.下载依赖包 网盘下载:https://yunpan.cn/cryvgGGAQ3DSW 访问密码 f224 二. 添加一个另外一个插件jquery.validate.messages_cn.js. ...
- js验证银行卡号 luhn校验规则
<script type="text/javascript"> //luhn校验规则:16位银行卡号(19位通用): // 1.将未带校验位的 15(或18)位卡号从右 ...
- jQuery Validate 表单验证插件----在class属性中添加校验规则进行简单的校验
一.下载插件包. 网盘下载:https://yunpan.cn/cryvgGGAQ3DSW 访问密码 f224 二.jQuery表单验证插件----添加class属性形式的校验 <!DOCTY ...
- jQuery Validate 验证,校验规则写在控件中的具体例子
将校验规则写到控件中 <script src="../js/jquery.js" type="text/javascript"></scrip ...
- 使用JS对form的内容验证失败后阻止提交 &&js校验表单后提交表单的三种方法总结
1.form的两个事件 submit,提交表单,如果直接调用该函数,则直接提交表单 onSubmit,提交按钮点击时先触发,然后触发submit事件.如果不加控制的话,默认返回true,因此表单总能提 ...
- jquery.validate.js之自定义表单验证规则
<html> <head> <meta http-equiv="Content-Type" content="text/html; char ...
随机推荐
- cocos2d-x 3.0rc1 编译cpp-testsproject
1.进入cocos2d-x的build文件夹 2.打开一个cmd命令行窗体,输入 android-build.py cpp-tests 然后回车
- 开源项目MultiChoiceAdapter详解(四)——MultiChoiceBaseAdapter的使用
MultiChoiceBaseAdapter是一个可以多选的BaseAdapter,使用的方式相比来说扩展性更强! 使用方式: 1.布局文件 2.写一个类继承MultiChoiceBaseAdapte ...
- WorkerThread与MainThread之间通过Handler进行最简单的消息传递
一.从自己开启的线程中给主线程发送信息,更新UI 这个实例的效果是,在线程中通过handler发送一条信息给handler,然后通过handler更改UI线程中,textview的文字. 主要方法是( ...
- 安卓之上传文件,即HTTP提交表单
获取文件: public void Init() { noScrollgridview = (GridView) findViewById(R.id.noScrollgridvie ...
- SVG.Js事件示例,简单绑定拖动操作
一.代码: var draw = SVG('container').size(300, 300); draw.style({ border: '1px solid red' }); var group ...
- 请简单介绍一下什么是Spring?
Spring的核心是一个轻量级(Lightweight)的容器(Container),它是实现IoC(Inversion of Control)容器和非入侵性(No intrusive)的框架,并提供 ...
- 奇怪吸引子---ChenLee
奇怪吸引子是混沌学的重要组成理论,用于演化过程的终极状态,具有如下特征:终极性.稳定性.吸引性.吸引子是一个数学概念,描写运动的收敛类型.它是指这样的一个集合,当时间趋于无穷大时,在任何一个有界集上出 ...
- QT中使用MinGW 编译的protobuf库--包含库的生成和使用
QT中使用MinGW 编译的protobuf库--包含库的生成和使用 0前言 1准备工作 2生成protobuf库文件 3在QT中测试protobuf的使用 4结语 0前言 最近要在QT中使用prot ...
- SD内存卡禁止写入只读怎么办?另类SPI模式修复坏卡
这几天很郁闷,买的32G TF卡老出问题,三星的标,不知道是不是正品,标称C10,且不说是不是真的三星和真的C10,反正测试一下容量倒是真的,价格么也比较亲民,好像是69块? 哎,可惜呀,好景不长 ...
- 对于DQN的三大改进 - 这篇讲的好些
可以看这篇文章: https://blog.csdn.net/u013236946/article/details/73161586 这篇也讲的不错: https://www.cnblogs.com/ ...