2

我在java中有一个正则表达式

^.*(?=.{8,})(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!()*,/:;<>?\\\]\[\-_`{}~@#$%^&+=]).*$

它匹配具有以下条件的字符串:

  • 至少 8 个字符
  • 至少一位数
  • 至少一个小写字母
  • 至少一个大写字母
  • 至少一个特殊字符

    [!()*,/:;<>?\\\]\[\-_`{}~@#$%^&+=]
    

如何将其转换为 JavaScript 正则表达式?

4

3 回答 3

3

使用简单正则表达式的简单解决方案。

var re = /^(.{0,7}|\D+|[^a-z]+|[^A-Z]+|[^\^!@#$%&\*])$/;
if (!re.test(str)) {
    alert('Matched');
}

请注意,我的正则表达式中缺少一些特殊字符。

于 2012-05-29T16:20:10.237 回答
3

在它周围放两个斜杠:

var re = /<your_regex_here>/;
于 2012-05-29T13:23:22.970 回答
2

它已经在 J​​avaScript 中工作了:

var re = /^.*(?=.{8,})(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!()*,/:;<>?\\\]\[\-_`{}~@#$%^&+=]).*$/;
re.test('abcdefgh0A$') // true
于 2012-05-29T13:23:04.303 回答