Javascript 如何为用户名约束创建jQuery验证程序方法?
因此,我目前有一种强制使用强密码的方法:Javascript 如何为用户名约束创建jQuery验证程序方法?,javascript,jquery,regex,jquery-validate,Javascript,Jquery,Regex,Jquery Validate,因此,我目前有一种强制使用强密码的方法: $.validator.addMethod('goodPassword', function(value, element){ return this.optional(element) || value.length >= 6 && /\d/.test(value) && /[a-z]/i.test(value); }, 'Your password suck
$.validator.addMethod('goodPassword', function(value, element){
return this.optional(element) ||
value.length >= 6 &&
/\d/.test(value) &&
/[a-z]/i.test(value);
}, 'Your password sucks boy, you need at least 6 char and both number and char in that motherf.')
我想为我的用户名创建一些类似的东西,将它们限制为字母、数字、破折号、下划线和句点。我似乎不知道该怎么办。我读了一点关于regex的书,但仍然不知道我应该如何处理我的代码
这就是我目前拥有的:
$.validator.addMethod('goodUsername', function(value, element)){
return this.optional(element) ||
value.length >= 4 // && or ||, not really sure what to put here
//something to check if entered data contains anything other than letters, numbers, dashes, underscores and periods
}, 'What kind of fkin username is that? You can only use letters, numbers, dashes, underscores and periods.')
有人能告诉我怎么走吗?您可以使用此功能设置您的自定义非法租约:
function validateUsername(fld) {
var error = "";
var illegalChars = /\W/; // allow letters, numbers, and underscores
if (fld.value == "") {
fld.style.background = 'Yellow';
error = "You didn't enter a username.\n";
alert(error);
return false;
} else if ((fld.value.length < 5) || (fld.value.length > 15)) {
fld.style.background = 'Yellow';
error = "The username is the wrong length.\n";
alert(error);
return false;
} else if (illegalChars.test(fld.value)) {
fld.style.background = 'Yellow';
error = "The username contains illegal characters.\n";
alert(error);
return false;
} else {
fld.style.background = 'White';
}
return true;
}
函数validateUsername(fld){
var误差=”;
var illegalChars=/\W//;//允许使用字母、数字和下划线
如果(fld.value==“”){
fld.style.background='黄色';
error=“您没有输入用户名。\n”;
警报(错误);
返回false;
}否则如果((fld.value.length<5)| |(fld.value.length>15)){
fld.style.background='黄色';
error=“用户名的长度错误。\n”;
警报(错误);
返回false;
}否则如果(非法字符测试(fld值)){
fld.style.background='黄色';
error=“用户名包含非法字符。\n”;
警报(错误);
返回false;
}否则{
fld.style.background='白色';
}
返回true;
}
您可以使用此功能设置自定义非法租约:
function validateUsername(fld) {
var error = "";
var illegalChars = /\W/; // allow letters, numbers, and underscores
if (fld.value == "") {
fld.style.background = 'Yellow';
error = "You didn't enter a username.\n";
alert(error);
return false;
} else if ((fld.value.length < 5) || (fld.value.length > 15)) {
fld.style.background = 'Yellow';
error = "The username is the wrong length.\n";
alert(error);
return false;
} else if (illegalChars.test(fld.value)) {
fld.style.background = 'Yellow';
error = "The username contains illegal characters.\n";
alert(error);
return false;
} else {
fld.style.background = 'White';
}
return true;
}
函数validateUsername(fld){
var误差=”;
var illegalChars=/\W//;//允许使用字母、数字和下划线
如果(fld.value==“”){
fld.style.background='黄色';
error=“您没有输入用户名。\n”;
警报(错误);
返回false;
}否则如果((fld.value.length<5)| |(fld.value.length>15)){
fld.style.background='黄色';
error=“用户名的长度错误。\n”;
警报(错误);
返回false;
}否则如果(非法字符测试(fld值)){
fld.style.background='黄色';
error=“用户名包含非法字符。\n”;
警报(错误);
返回false;
}否则{
fld.style.background='白色';
}
返回true;
}
以下是使用Javascript正则表达式功能的代码
$.validator.addMethod('goodUsername', function(value, element)){
return this.optional(element) || value.match(/^[\w.-]{4,}$/m)
}, 'What kind of fkin username is that? You can only use letters, numbers, dashes, underscores and periods.')
正如@rock321987所正确指出的,它仍然允许
…-…
和其他奇怪的用户名。下面是使用Javascript正则表达式功能的代码
$.validator.addMethod('goodUsername', function(value, element)){
return this.optional(element) || value.match(/^[\w.-]{4,}$/m)
}, 'What kind of fkin username is that? You can only use letters, numbers, dashes, underscores and periods.')
正如@rock321987所正确指出的,它仍然允许
…-…
和其他奇怪的用户名。我使用这个正则表达式,并基于jQuery验证程序文档
/^[a-z|A-Z]|\d|_|-|\./m
下面是它在代码中的外观
我用这个网站写我的正则表达式
我把它放在这些绳子上
var str2 = 'uerhyeiufhsniufhsdJSHNAJDHJS09i304584305i4309SKA()*^&85$674&_-.dsf%#$fdfIIJ76..';
var str2 = 'dskfjdkaAHDNsfj34-2sds3432_-.*()$%#545@';
我让这个正则表达式工作,并基于jQuery验证程序文档
/^[a-z|A-Z]|\d|_|-|\./m
下面是它在代码中的外观
我用这个网站写我的正则表达式
我把它放在这些绳子上
var str2 = 'uerhyeiufhsniufhsdJSHNAJDHJS09i304584305i4309SKA()*^&85$674&_-.dsf%#$fdfIIJ76..';
var str2 = 'dskfjdkaAHDNsfj34-2sds3432_-.*()$%#545@';
您可以使用
[\w.-]{4,}
。但这将允许..
或-..
等。您可以使用[\w.-]{4,}
。但这将允许..
或-
等。如果您使用的是字符类,则不需要在其中包含
。同样\w
==[A-z0-9]
如果您使用的是字符类,则无需在其内部包含
。另外\w
=>[A-Za-z0-9]