我有一个正则表达式,它只允许字母数字字符以及点 (.) 和下划线 (_)
它不允许连续的下划线,但允许连续的点。谁能指导我解决这个问题。我不需要连续的点或下划线。 下面是 JavaScript 函数
function checkLogin() {
var login = $("#user_login").val();
var regex = new RegExp("^(?!.*__.*)[a-zA-Z0-9_.]+$");
var flag = true;
if (regex.test(login)) {
$('#valid_character_error').css("display","none");
}
else {
$('#valid_character_error').css("display","block");
flag = false;
}
return flag;
}
最佳答案
只需包含与负向先行内的两个点相匹配的模式即可。
var regex = new RegExp("^(?!.*(?:__|\\.\\.))[a-zA-Z0-9_.]+$");
[a-zA-Z0-9_.]+
将写为 [\w.]
更新:
var regex = new RegExp("^(?!.*?[._]{2})[a-zA-Z0-9_.]+$");
关于javascript - 正则表达式不允许连续的点或下划线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30316907/