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

2024-11-02 08:12:47
推荐回答(5个)
回答1:

这个是正则表达式:

var reg = /^[\w]{6,12}$/

if(password.match(reg))

{alert("The password is valid!");

}

^只是一个标记,说明正则表达式的开始,$为结束的标记,与{}中的范围没有关系。

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

许多程序设计语言都支持利用正则表达式进行字符串操作。例如,在Perl中就内建了一个功能强大的正则表达式引擎。

扩展资料:

正则表达式的特点是:

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

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

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

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

参考资料:百度百科——正则表达式

回答2:

楼上回家看下正则语法吧,^是匹配行的开头,怎么会已经匹配了一位???
比如$reg=~/^hello/是用来匹配以hello开头的字符串。^只是行开头的锚定

回答3:

var reg = /^[\w]{6,12}$/这个是正则表达式
if(password.match(reg)){
alert("The password is valid!");
}
^只是一个标记,说明正则表达式的开始,$为结束的标记,与{}中的范围没有关系,经过测试{6,12}是没有错误的,LZ也可以自行测试一下,找到一个更合适的表达式。
真是太感动了,我本以为网络上的人都不会太在意错对,没想到还是有那么热心的网友,是我误会了\w,感谢网友gpgkd906,没错\w已经等效于[A-Za-z0-9_],也就是说数字字母还有下划线都已经包括了,尤其要感谢一下那个horsoner,没想到他那么用心,是我粗心了,让正则表达式包含了“*”,不过包含两个中文的字符串“r4_h哈哈t”,应该是通不过测试的。
要是所有回答问题的人都有你们那么认真的精神,问题就太好解决了。

回答4:

^[\d_a-zA-Z]{6,12}$
推荐答案明显有问题,测试我给的字符串就知道了:
测试
r4fg*4_hht
或者测试
r4_h哈哈t
这两个不符合楼主要求的使用var reg = /^[\w*\_*]{6,12}$/也可以通过的...还有下划线不需要转义的.不知道这个所谓的推荐答案怎么出来的.

回答5:

\w里面已经包括了下划线了。