将 Java Regex 转换为 Javascript Regex

Converting Java Regex to Javascript Regex

本文关键字:Regex Javascript 转换 Java      更新时间:2023-09-26

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

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

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

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

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

如何将其转换为 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