我在正则表达方面不是很好,似乎无法理解它们。
我正在寻找一个正则表达式,它将匹配并允许用户名的后续字符串,具有以下条件:
几乎与Twitter和Facebook用户名模式类似。
请帮帮我。谢谢。
FWI:我试过这个:/^(?=.{1,15}$)[a-zA-Z][a-zA-Z0-9]*(?: [a-zA-Z0-9]+)*$/
- 这不符合我的条件。
答案 0 :(得分:5)
试试这个
^[a-zA-Z0-9][a-zA-Z0-9\._-]{2,31}$
这导致php代码
if (preg_match('~^[a-zA-Z0-9][a-zA-Z0-9\._-]{2,31}$~', $username) {
//do something
}
答案 1 :(得分:2)
以数字或字母开头
[a-zA-Z0-9]
可以包含上面的点,短划线和下划线
[a-zA-Z0-9._-]
和所有人一起
[a-zA-Z0-9][a-zA-Z0-9._-]{2, 31}
答案 2 :(得分:2)
试试这个,这在每个注册表格中都适合我
//username Validation
var usernameRegex = /^[a-zA-Z0-9\s\[\]\.\-#']*$/i;
var username=document.getElementById('username');
if(username.value==""){
document.getElementById('lblusername').innerHTML="Username Required!";
username.focus();
return false;
}
else if(usernameRegex.test(username.value)== false)
{
document.getElementById('lblusername').innerHTML="Allow Alphanumeric Only! (E.g Demo123)";
username.focus();
return false;
}
else
{
document.getElementById('lblusername').innerHTML="";
}
答案 3 :(得分:1)
试试这个:
^[0-9a-zA-Z][0-9a-zA-Z\-\._]{2,31}$