Javascript 使用jQuery插件检查用户名是否有效
我正在使用jQuery验证插件来验证表单。我有一个需要验证的用户名字段。到目前为止,这就是我所拥有的:Javascript 使用jQuery插件检查用户名是否有效,javascript,jquery,jquery-validate,Javascript,Jquery,Jquery Validate,我正在使用jQuery验证插件来验证表单。我有一个需要验证的用户名字段。到目前为止,这就是我所拥有的: $(".personal_form").validate({ errorElement: 'div', rules: { username: { required: true, maxlength: 15, remote: {
$(".personal_form").validate({
errorElement: 'div',
rules: {
username: {
required: true,
maxlength: 15,
remote: {
url: "usernameChecker.php",
type: "post",
data: {
username: function() {
return $( "#username" ).val();
},
},
},
},
},
messages: {
username: {
required: "Please enter a username",
maxlength: "Your username should not exceed 15 characters.",
remote: "This username is taken."
},
},
});
我想这样做,如果有人输入一个无效的用户名,它将显示一个错误。例如,如果有人输入特殊字符:!@$%^&*.+=~`-它将显示一个错误。有效用户名是包含字母或数字的用户名。如何执行此操作?创建自定义验证规则,根据您的规则检查用户名,如:
jQuery.validator.addMethod("alphanumeric", function(value, element) {
return this.optional(element) || /^[a-zA-Z0-9 ]+$/.test(value);
});
并将其与您的验证一起添加创建自定义验证规则,根据您的规则检查用户名,如:
jQuery.validator.addMethod("alphanumeric", function(value, element) {
return this.optional(element) || /^[a-zA-Z0-9 ]+$/.test(value);
});
并将其与您的验证一起添加您可以使用RegExp\w+| d\+设置元素属性的模式,以匹配单词或数字字符、元素、css:focus、:invalid、:after
用户名:焦点:无效+标签[for=username]:之后{
内容:输入必须只包含字母和数字;
颜色:红色;
}
您可以使用RegExp\w+|d\+在元素处设置属性模式,以匹配单词或数字字符、元素、css:focus、:invalid、:after
用户名:焦点:无效+标签[for=username]:之后{
内容:输入必须只包含字母和数字;
颜色:红色;
}
使用jQuery.validator.addMethod名称、方法[、消息]对表单字段进行自定义验证
使用jQuery.validator.addMethod名称、方法[、消息]对表单字段进行自定义验证
将此添加到:
$.validator.addMethod(
"regex",
function(value, element, regexp) {
var check = false;
return this.optional(element) || regexp.test(value);
},
"Please provide a valid username."
);
$(".personal_form").validate({
errorElement: 'div',
rules: {
username: {
required: true,
maxlength: 15,
regex: /^[a-zA-Z0-9 ]+$/,
remote: {
url: "usernameChecker.php",
type: "post",
data: {
username: function() {
return $( "#username" ).val();
},
},
},
},
},
messages: {
username: {
required: "Please enter a username",
maxlength: "Your username should not exceed 15 characters.",
remote: "This username is taken."
},
},
});
将此添加到:
$.validator.addMethod(
"regex",
function(value, element, regexp) {
var check = false;
return this.optional(element) || regexp.test(value);
},
"Please provide a valid username."
);
$(".personal_form").validate({
errorElement: 'div',
rules: {
username: {
required: true,
maxlength: 15,
regex: /^[a-zA-Z0-9 ]+$/,
remote: {
url: "usernameChecker.php",
type: "post",
data: {
username: function() {
return $( "#username" ).val();
},
},
},
},
},
messages: {
username: {
required: "Please enter a username",
maxlength: "Your username should not exceed 15 characters.",
remote: "This username is taken."
},
},
});
很好!如果下划线没问题呢?我如何使下划线、字母和数字有效?试试这个:更改[a-zA-Z0-9]->[a-zA-Z0-9]-它将允许空间和分数不足。效果很好!如果下划线没问题呢?我如何才能使下划线、字母和数字有效?尝试以下方法:更改[a-zA-Z0-9]->[a-zA-Z0-9]。它将允许空间和分数不足。