转自:https://blog.csdn.net/weixin_43824935/article/details/93601064

密码长度8-16位
必须由大写字母,小写字母,数字,特殊符号组成

正则表达式为:

var v=$("#text").val();
reg=/^(?![-]+$)(?![a-z]+$)(?![A-Z]+$)(?!([^(-9a-zA-Z)])+$).{,}$/;
alert(reg.test(v));
  • 1
  • 2
  • 3

正则表达式意思为
不能为纯数字,不能为纯小写字母,不能为纯大写字母,不能为纯特殊符号,至少8-16位。

细拆分为
(?![0-9]+$) 表示后面不能为纯数字

(?![a-z]+$) 表示后面不能为纯小写字母

(?![A-Z]+)表示后面不能为纯大写字母(?!([(0−9a−zA−Z)])+

)表示后面不能为纯大写字母(?!([(0−9a−zA−Z)])+) 表示后面不能为除数字和字母外的纯特殊符号
^ 这个符号单独用表示“开头”,用在中括号的开头,表示“非”;

.{6,} 表示至少6位的任意字符

$ 表示“结尾”

(?=.*[\W]) 这句的意思是后面必须有一个非字母数字及下划线的特殊符号

摘自爱jQuery:原文链接

载 js验证密码 必须由大小写字母、数字和特殊字符组成的更多相关文章

  1. Python 使用正则表达式验证密码必须包含大小写字母和数字

    校验密码是否合法的程序. 输入一个密码 1.长度5-10位 2.密码里面必须包含,大写字母.小写字母和数字 3.最多输入5次 ===================================== ...

  2. js 正则 以字母开头必须有 大小写字母数字组成 可以有“@"或 ”.“

    js  正则  以字母开头必须有 大小写字母数字组成 可以有“@"或 ”.“ var reg = /^[a-zA-Z]{1}(?=.*[a-z])(?=.*[A-Z])[a-zA-Z\d_@ ...

  3. PHP随机生成要求位数个字符(大小写字母+数字)

    php随机生成要求位数个字符 /** * 随机生成要求位数个字符 * @param length 规定几位字符 */ function getRandChar($length){ $str = nul ...

  4. js验证密码强弱

    JS密码强度验证 <%@ Page Language="C#" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML ...

  5. JS输出26个英文大小写字母

    JS中可以利用ASCII值 for(var i=0;i<26;i++){ console.log(String.fromCharCode(65+i));//输出A-Z 26个大写字母 } for ...

  6. Java 判断密码是否是大小写字母、数字、特殊字符中的至少三种

    public class CheckPassword { //数字 public static final String REG_NUMBER = ".*\\d+.*"; //小写 ...

  7. PHP 密码重置,发送邮件,随机长度字母数字密码

    <?php include ("database.php"); require_once ('email.class.php'); date_default_timezone ...

  8. Java随机获取32位密码且必须包含大小写字母、数字和特殊字符,四种的任意三种

    Java随机获取32位密码且必须包含大小写字母.数字和特殊字符,四种的任意三种 Java随机获取32位密码且必须包含大小写字母.数字和特殊字符,四种的任意三种,代码如下: import java.ut ...

  9. 第一百五十节,封装库--JavaScript,表单验证--密码验证

    封装库--JavaScript,表单验证--密码验证 效果图 html <div id="reg"> <h2 class="tuo">& ...

随机推荐

  1. 使用高精度计算斐波那契数列 c++

    使用高精度计算斐波那契数列 非高精度 Code(Non-high accuracy) 这是不用高精度的代码 #include<bits/stdc++.h> using namespace ...

  2. Android开发第一天---AndroidStudio的安装和第一个安卓开发

    今天已经是开始学习Android的第二天,我居然才把AndroidStudio开发环境安装并配置好,我只能说“我太难了”,下了好几个版本,终于找到了一个合适的,得出一个结论外国的东西是真的不太好用啊, ...

  3. HDU1862 - EXCEL排序

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1862 解题思路:结构体排序 #include <bits/stdc++.h> using ...

  4. openlayers按坐标点播放

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

  5. 杜教筛BM

    #include <cstdio> #include <cstring> #include <cmath> #include <algorithm> # ...

  6. Secondary NameNode:它究竟有什么作用?

    前言 最近刚接触Hadoop, 一直没有弄明白NameNode和Secondary NameNode的区别和关系.很多人都认为,Secondary NameNode是NameNode的备份,是为了防止 ...

  7. sqli-labs less-15 --> less-16

    Less-15(布尔/时间盲注) 1.判断是否存在注入点 无论是输入admin/admin’/admin” 都显示回显正常,于是执行uname=admin' and sleep(5)#&pas ...

  8. Error in nextTick: "TypeError: Cannot set property 'xxx' of undefined"解决办法

    vue项目在控制台中报这个错误时,当看到nextTick词时想到vue的$nextTick()方法 Vue 在更新 DOM 时是异步执行的.只要侦听到数据变化,Vue 将开启一个队列,并缓冲在同一事件 ...

  9. 原生js判断设备类型

    var u = navigator.userAgent; //Android终端 var isAndroid = u.indexOf('Android') > -1 || u.indexOf(' ...

  10. springBoot 2.1.5 pom 文件 unknown 错误

    插件不兼容 pom文件添加 <properties>    <maven-jar-plugin.version>2.6</maven-jar-plugin.version ...