pix*_*bby 79 javascript regex jquery
我正在尝试在JavaScript中创建一个Regex测试,它将测试一个包含以下任何字符的字符串:
!$%^&*()_+|~-=`{}[]:";'<>?,./
Run Code Online (Sandbox Code Playgroud)
更多信息如果你有兴趣:)
这是我正在努力的一个非常酷的密码更改应用程序.如果您对这里的其他代码感兴趣.
我有一个列出密码要求的表,并且当最终用户键入新密码时,它将测试一个正则表达式数组并在相应的表行中放置一个复选标记,如果它...检出:)我只需要添加这个代替validation
数组中的第4项.
var validate = function(password){
valid = true;
var validation = [
RegExp(/[a-z]/).test(password), RegExp(/[A-Z]/).test(password), RegExp(/\d/).test(password),
RegExp(/\W|_/).test(password), !RegExp(/\s/).test(password), !RegExp("12345678").test(password),
!RegExp($('#txtUsername').val()).test(password), !RegExp("cisco").test(password),
!RegExp(/([a-z]|[0-9])\1\1\1/).test(password), (password.length > 7)
]
$.each(validation, function(i){
if(this)
$('.form table tr').eq(i+1).attr('class', 'check');
else{
$('.form table tr').eq(i+1).attr('class', '');
valid = false
}
});
return(valid);
}
Run Code Online (Sandbox Code Playgroud)
是的,还有相应的服务器端验证!
Jef*_*man 148
这个的正则表达式非常简单.只需使用一个字符类.连字符是字符类中的特殊字符,因此它必须是第一个:
/[-!$%^&*()_+|~=`{}\[\]:";'<>?,.\/]/
Run Code Online (Sandbox Code Playgroud)
您还需要转义其他正则表达式元字符.
编辑: 连字符是特殊的,因为它可用于表示一系列字符.可以使用以下范围简化相同的字符类:
/[$-/:-?{-~!"^_`\[\]]/
Run Code Online (Sandbox Code Playgroud)
有三个范围.'$'到'/',':'到'?','{'到'〜'.最后一个字符串不能用一个范围更简单地表示:!"^ _`[].
使用ACSII表查找字符类的范围.
Ami*_*Zpr 13
实现此目的的最简单和最短的方法:
/[^\p{L}\d\s@#]/u
Run Code Online (Sandbox Code Playgroud)
[^...]
匹配以下列表中不存在的单个字符
\p{L}
=> 匹配来自任何语言的任何类型的字母
\d
=> 匹配数字零到九
\s
=> 匹配任何类型的不可见字符
@#
=>@
和#
字符
不要忘记传递u
(unicode)标志。
Mik*_*hem 10
/[\W\S_]/
Run Code Online (Sandbox Code Playgroud)
这将创建一个字符类,删除单词字符、空格字符并重新添加下划线字符(因为下划线是“单词”字符)。剩下的就是特殊字符了。大写字母表示对小写字母的否定。
\W
将选择所有非“单词”字符等效于[^a-zA-Z0-9_]
\S
将选择所有非“空白”字符等效于[ \t\n\r\f\v]
_
将选择“_”因为我们在使用时否定它\W
并且需要将其添加回
归档时间: |
|
查看次数: |
239556 次 |
最近记录: |