使用 jQuery 插件检查用户名是否有效
Checking if username is valid using jQuery plugin
我正在使用 jQuery 验证插件来验证表单。我有一个需要验证的用户名字段。到目前为止,这就是我所拥有的:
$(".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);
});
并将其添加到您的验证中
您可以 pattern
属性 <input type="text">
元素 RegExp
\w+|d\+
匹配单词或数字字符,<label>
元素,css
:focus
、:invalid
、:after
#username:focus:invalid + label[for="username"]:after {
content: "input must contain only letters and numbers";
color:red;
}
<input type="text"
pattern="\w+|d\+"
id="username"
placeholder="input letters and numbers" />
<label for="username"></label>
使用 jQuery.validator.addMethod( name, method [, message ] )
对表单字段进行自定义验证。
将此添加到:
$.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."
},
},
});
我正在使用 jQuery 验证插件来验证表单。我有一个需要验证的用户名字段。到目前为止,这就是我所拥有的:
$(".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);
});
并将其添加到您的验证中
您可以 pattern
属性 <input type="text">
元素 RegExp
\w+|d\+
匹配单词或数字字符,<label>
元素,css
:focus
、:invalid
、:after
#username:focus:invalid + label[for="username"]:after {
content: "input must contain only letters and numbers";
color:red;
}
<input type="text"
pattern="\w+|d\+"
id="username"
placeholder="input letters and numbers" />
<label for="username"></label>
使用 jQuery.validator.addMethod( name, method [, message ] )
对表单字段进行自定义验证。
将此添加到:
$.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."
},
},
});