js 正则表达式:密码必须由6-12位数字加字母组成

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js 正则表达式:密码必须由6-12位数字加字母组成相关的知识,希望对你有一定的参考价值。

^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]6,12$。

正则表达式,又称规则表达式,是计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。

一、起源

1、正则表达式的“鼻祖”或许可一直追溯到科学家对人类神经系统工作原理的早期研究。美国新泽西州的Warren McCulloch和出生在美国底特律的Walter Pitts这两位神经生理方面的科学家,研究出了一种用数学方式来描述神经网络的新方法。

他们创造性地将神经系统中的神经元描述成了小而简单的自动控制元,从而作出了一项伟大的工作革新。

2、在1951 年,一位名叫Stephen Kleene的数学科学家,他在Warren McCulloch和Walter Pitts早期工作的基础之上,发表了一篇题目是《神经网事件的表示法》的论文,利用称之为正则集合的数学符号来描述此模型,引入了正则表达式的概念。

3、之后一段时间,人们发现可以将这一工作成果应用于其他方面。Ken Thompson就把这一成果应用于计算搜索算法的一些早期研究,Ken Thompson是 Unix的主要发明人,也就是大名鼎鼎的Unix之父。

Unix之父将此符号系统引入编辑器QED,然后是Unix上的编辑器ed,并最终引入grep。

4、在最近的六十年中,正则表达式逐渐从模糊而深奥的数学概念,发展成为在计算机各类工具和软件包应用中的主要功能。不仅仅众多UNIX工具支持正则表达式,近二十年来,在WINDOWS的阵营下,正则表达式的思想和应用在大部分 Windows 开发者工具包中得到支持和嵌入应用。

二、特点

正则表达式的特点是:

1、灵活性、逻辑性和功能性非常强;

2、可以迅速地用极简单的方式达到字符串的复杂控制。

3、对于刚接触的人来说,比较晦涩难懂。

由于正则表达式主要应用对象是文本,因此它在各种文本编辑器场合都有应用,小到著名编辑器EditPlus,大到Microsoft Word、Visual Studio等大型编辑器,都可以使用正则表达式来处理文本内容。

参考资料来源:百度百科-正则表达式

参考技术A var reg = /^(\w)6,12$/;
var password = '1234455';
if(!reg.test(password))
alert('密码必须由6-12位数字或者字母组成');

参考技术B 给你个参考链接:
http://zhidao.baidu.com/link?url=8EzXhi5UocjR5RZ8lW8fsvpTcDRWO7jK9F2aWtU1Nbcygo9foLEh-82SWSl5BOOffc1uNky9fw5DmHfIs_drEa本回答被提问者和网友采纳
参考技术C /^[a-zA-Z0-9]6,12$/ 参考技术D var reg = /^[\da-z]6,12$/i;

java正则校验,密码必须由字母和数字组成

一个匹配数字和字母密码的正则表达式

2011 年 12 月 14 日 | Filed under: 正则表达式 and tagged with: 密码 , 正则表达式 , 零宽断言

一个用户注册功能的密码有如下要求:由数字和字母组成,并且要同时含有数字和字母,且长度要在8-16位之间。

如何分析需求?拆分!这就是软件设计的一般思路了。于是乎,拆分需求如下:
1,不能全部是数字
2,不能全部是字母
3,必须是数字或字母
只要能同时满足上面3个要求就可以了,写出来如下:

^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{8,16}$

分开来注释一下:
^ 匹配一行的开头位置
(?![0-9]+$) 预测该位置后面不全是数字
(?![a-zA-Z]+$) 预测该位置后面不全是字母
[0-9A-Za-z] {8,16} 由8-16位数字或这字母组成
$ 匹配行结尾位置

注:(?!xxxx) 是正则表达式的负向零宽断言一种形式,标识预该位置后不是xxxx字符。

测试用例如下:

public class Test {
	public static void main(String[] args) throws Exception {
		String regex = "^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{8,16}$";		

		String value = "aaa";  // 长度不够
		System.out.println(value.matches(regex));

		value = "1111aaaa1111aaaaa";  // 太长
		System.out.println(value.matches(regex));

		value = "111111111"; // 纯数字
		System.out.println(value.matches(regex));

		value = "aaaaaaaaa"; // 纯字母
		System.out.println(value.matches(regex));

		value = "####@@@@#"; // 特殊字符
		System.out.println(value.matches(regex));

		value = "1111aaaa";  // 数字字母组合
		System.out.println(value.matches(regex));

		value = "aaaa1111"; // 数字字母组合
		System.out.println(value.matches(regex));

		value = "aa1111aa";	// 数字字母组合
		System.out.println(value.matches(regex));

		value = "11aaaa11";	// 数字字母组合
		System.out.println(value.matches(regex));

		value = "aa11aa11"; // 数字字母组合
		System.out.println(value.matches(regex));
	}
}
 









以上是关于js 正则表达式:密码必须由6-12位数字加字母组成的主要内容,如果未能解决你的问题,请参考以下文章

js 正则表达式 要求密码的格式为6-12位,只能是字母、数字和下划线

java中的正则表达式问题 怎么验证密码必须由字母 数字或下划线开头,密码可以随便组合

php验证密码 必须为6-16位字母数字符号组合, 正则表达式 着急,在线等

java正则校验,密码必须由字母和数字组成

java正则校验,密码必须由字母和数字组成

java正则校验,密码必须由字母和数字组成