0
var pattern = /^[a-zA-Z0-9!@#$%^&*()~]+$/;

var username = document.getelementbyId("txtUsername").value;

if(pattern.test(username) == false) {

    alert("Invalid Username");
}

上面的正则表达式模式不起作用。我想要一个正则表达式,其中密码必须至少包含一个小写字母、一个大写字母、一个数字和一个特殊字符。

4

2 回答 2

1

然后你将不得不进行单独的测试:

if (/[a-z]/.test(username) && /[A-Z]/.test(username) && ...)

您无法在单个正则表达式中合理地表达您的要求。

于 2013-08-16T09:19:24.530 回答
1
if (!/[a-z]/.test(username) 
    || !/[A-Z]/.test(username) 
    || !/[0-9]/.test(username) 
    || !/[!@#$%^&*()~]/.test(username)) {
  alert("Invalid");
}

您必须将支票分开。

于 2013-08-16T09:27:03.147 回答