我在java中有一个正则表达式
^.*(?=.{8,})(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!()*,/:;<>?\\\]\[\-_`{}~@#$%^&+=]).*$
它匹配具有以下条件的字符串:
- 至少 8 个字符
- 至少一位数
- 至少一个小写字母
- 至少一个大写字母
至少一个特殊字符
[!()*,/:;<>?\\\]\[\-_`{}~@#$%^&+=]
如何将其转换为 JavaScript 正则表达式?
我在java中有一个正则表达式
^.*(?=.{8,})(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!()*,/:;<>?\\\]\[\-_`{}~@#$%^&+=]).*$
它匹配具有以下条件的字符串:
至少一个特殊字符
[!()*,/:;<>?\\\]\[\-_`{}~@#$%^&+=]
如何将其转换为 JavaScript 正则表达式?
使用简单正则表达式的简单解决方案。
var re = /^(.{0,7}|\D+|[^a-z]+|[^A-Z]+|[^\^!@#$%&\*])$/;
if (!re.test(str)) {
alert('Matched');
}
请注意,我的正则表达式中缺少一些特殊字符。
在它周围放两个斜杠:
var re = /<your_regex_here>/;
它已经在 JavaScript 中工作了:
var re = /^.*(?=.{8,})(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!()*,/:;<>?\\\]\[\-_`{}~@#$%^&+=]).*$/;
re.test('abcdefgh0A$') // true