【JavaScript 学习--08】Js用户新密码正则验证
2017-10-18 15:31
344 查看
在写JS代码时候,经常会遇到验证用户输入的情形, 下面代码是我现在项目中需要验证用户更改新密码。
新密码规则:
- 密码长度[8, 128),
- 新密码不能和老密码相同,
- 必须包含数字和字母
- 必须包含至少一个小写字母,
- 必须包含至少一个大写字母,
- 至少有两个数字,
- 不能有非法字符(<>{}|\^`:)
新密码规则:
- 密码长度[8, 128),
- 新密码不能和老密码相同,
- 必须包含数字和字母
- 必须包含至少一个小写字母,
- 必须包含至少一个大写字母,
- 至少有两个数字,
- 不能有非法字符(<>{}|\^`:)
const FORBIDDEN_CHARACTERS = "<>{}|\\^`:"; const LOCAL_USER_PASSWORD_MIN_LENGTH = 8; const LOCAL_USER_PASSWORD_MAX_LENGTH = 128; function newPasswordIsValid(newPassword) { if (newPassword.length >= LOCAL_USER_PASSWORD_MIN_LENGTH && newPassword.length < LOCAL_USER_PASSWORD_MAX_LENGTH && newPassword !== $("#applicationLoginUsername").val() && isAlphaNumeric(newPassword) && hasOneUpperAndOneLowerCaseCharacter(newPassword) && hasAtleastTwoDigits(newPassword) && !hasTwoSameConsecutiveCharacters(newPassword) && !hasInvalidCharacters(newPassword)) { return true; } return false; } let isAlphaNumeric = function(string) { return /^[0-9a-zA-Z]+$/.test(string); }; let hasOneUpperAndOneLowerCaseCharacter = function(string) { return /(.*[A-Z]+.*)/.test(string) && /(.*[a-z]+.*)/.test(string); }; let hasAtleastTwoDigits = function(string) { return /(.*\d.*\d)/.test(string); }; let hasTwoSameConsecutiveCharacters = function(string) 4000 { for (var i = 1; i < string.length; ++i) { if (string[i] === string[i - 1]) return true; } return false; }; let hasInvalidCharacters = function(string) { for (var i = 1; i < string.length; ++i) { const asciiCode = string[i].charCodeAt(0); if (asciiCode >= 0 && asciiCode <= 20) { return true; } if (asciiCode === 127) { return true; } if (FORBIDDEN_CHARACTERS.includes(string[i]) { return true; } } return false; };
相关文章推荐
- 常用的一些正则表达式 可以用在js中验证 一起学习~~~
- javascript js 验证用户输入是否为数字
- js验证身份证号码的有效方法[1]以及密码验证和强度的验证 1 JS正则表达式 代码 .txt
- 深入学习javascript:js中的正则表达式
- 正则表达式(3),password密码验证---学习编
- 用户模块之js验证相关(包含正则)
- JavaScript下正则表达式密码强度验证
- 用户体验超棒并且功能强大使用简单的javascript表单验证 - Parsley.js
- JS正则表达式学习二:简单的email验证看正则表达式的语法
- 在登录页面中js进行正则验证电话号码和邮箱地址,并使用ajax进行用户ID的数据库验证
- js正则表达式——验证邮箱格式、邮编、身份证号码、是否为空、下拉框选项、密码、手机号码、电话号码
- 用户体验超棒并且功能强大使用简单的javascript表单验证 - Parsley.js
- 用户体验超棒并且功能强大使用简单的javascript表单验证 - Parsley.js
- JS通用表单验证函数,基于javascript正则表达式
- JavaScript js 不用正则验证小数完美方法
- JavaScript高级程序设计(第3版)学习笔记12 js正则表达式
- JavaScript - JS验证邮箱 身份证 VISA 卡输入是否正确|正则表达式
- js jquery验证银行卡号信息正则学习
- javascript 使用正则表达式验证注册用户填写的资料
- 初学js正则表达式之密码强度验证