【问题标题】:Escaping a number of special characters in RegEx (JS)在 RegEx (JS) 中转义一些特殊字符
【发布时间】:2015-09-15 13:17:31
【问题描述】:

我正在尝试验证必须至少包含

的密码

1 个大写

1 个小写

1 个特殊字符,即以下之一: ( ) [ ] { } ? ! $ % & / = * + ~ , . ; : - _

这是我的代码:

function checkForm(){

        re = /[a-z]/;
        if (!re.test(myForm.passwd1.value)) {
            alert("Error: password must contain at least one lower case letter!");
            myForm.passwd1.focus();
            return false;
        }

        re = /[A-Z]/;
        if (!re.test(myForm.passwd1.value)) {
            alert("Error: password must contain at least one uppercase letter");
            myForm.passwd1.focus();
        return false;
        }
    }

我想在我的代码中添加有关特殊字符的另一部分。如何将它们全部打包在正则表达式中?我必须逃脱哪些?

【问题讨论】:

标签: javascript regex character


【解决方案1】:

您可以使用环视。

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

【讨论】:

  • 所以...如果你把所有东西都放在 [ ] 中,除了 [ ] 本身之外,你就不必再转义任何东西了?
  • 是的,但您必须将- 放在开头或结尾或转义,因为 - 在 char 类中具有特殊含义。
猜你喜欢
  • 1970-01-01
  • 2016-05-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-02
  • 2017-03-06
相关资源
最近更新 更多