Javascript限制用户名字段中的特殊字符
我在互联网上发现了一个预先制作的表单,我正在将它集成到我的网站中。但是,此注册表允许使用任何字符。我试图将其限制为A-Z、A-Z、0-9、下划线和空格Javascript限制用户名字段中的特殊字符,javascript,Javascript,我在互联网上发现了一个预先制作的表单,我正在将它集成到我的网站中。但是,此注册表允许使用任何字符。我试图将其限制为A-Z、A-Z、0-9、下划线和空格 $(function(){ var form = $('form'); var submit = $('#submit'); var alert = $('.alert'); $.validator.addMethod("regex", function(value, element, regexp) { var check
$(function(){
var form = $('form');
var submit = $('#submit');
var alert = $('.alert');
$.validator.addMethod("regex", function(value, element, regexp) {
var check = false;
var re = new RegExp(regexp);
return this.optional(element) || re.test(value);
},
"No special Characters allowed here. Use only upper and lowercase letters (A through Z; a through z), numbers and punctuation marks (. , : ; ? ' ' \" - = ~ ! @ # $ % ^ & * ( ) _ + / < > { } )"
);
// validate form
form.validate({
// validation rules
rules: {
// name field (required , minimum length 3)
name: {
required: true,
minlength: 3,
maxlength: 25
},
// username field (required , minimum length 3, max 8)
username: {
required: true,
minlength: 3,
maxlength: 8,
regex: /^[a-zA-Z0-9_]+$/
},
// password field (required , minimum length 6, max 16)
password: {
required: true,
minlength: 6,
maxlength: 16
},
// password2 field must be equal to password field
password2: {
equalTo: '#password'
},
// email field only required
email: 'required'
},
// submit ajax request
submitHandler: ajaxSubmit
});
// jQuery ajax submit function
function ajaxSubmit() {
$.ajax({
url: 'ajax.php',
type: 'POST',
// form serialize data
data: form.serialize(),
beforeSend: function(){
alert.fadeOut();
submit.val('Sending...').attr('disabled', 'disabled');
},
success: function(data){
console.log(data);
if ( data.status === 'success' ) {
// if responce status == success redirect to success page
$(location).attr('href','success.html');
} else {
// not success! show error messages
alert.html(data.status).fadeIn();
submit.val('Sign Up').removeAttr('disabled');
}
},
error: function(e){
console.log(e);
// show error message
alert.html('Sending request fail').fadeIn();
submit.val('Sign Up').removeAttr('disabled');
}
});
};
});
这是我试图编辑的javascript代码。我只是不确定要为用户名添加什么来限制字符。我曾尝试搜索谷歌,但我找到的所有答案都提供了一个功能,我不确定如何添加到这个功能中。请检查此链接和下面的代码
$.validator.addMethod(
"regex",
function(value, element, regexp) {
var check = false;
var re = new RegExp(regexp);
return this.optional(element) || re.test(value);
},
"No special Characters allowed here. Use only upper and lowercase letters (A through Z; a through z), numbers and punctuation marks (. , : ; ? ' ' \" - = ~ ! @ # $ % ^ & * ( ) _ + / < > { } )"
);
username:{
required: true,
minlength: 3,
maxlength: 8,
regex:/^[a-zA-Z0-9_]+$/
}
看看正则表达式regex,它们将执行您想要的操作:看起来您可能正在使用它。是吗?对不起,我不熟悉JS、Jquery、AJax等。但是,是的,我认为这是Jquery验证。@user3764729:请查看页面中包含的脚本以确定。但看起来确实是这样。数字也被允许:替换regex://^[a-zA-Z0-9\]+$/现在这与我的答案类似了;我是否可以只将regex://^[a-zA-Z0-9\]+$/添加到用户名中,还是需要使用$.validator.addMethod?我将在第一篇文章中添加整个.js脚本。好的,我将该方法添加到了脚本的顶部。我应该把它放在用户名验证部分上面吗?