我正在写我的网站用户注册部分,我有一个简单的正则表达式如下:
if(preg_match("/^[a-z0-9_]{3,15}$/", $username)){
// OK...
}else{
echo "error";
exit();
}
我不想让用户拥有像:' ___
'或' x________y
'这样的用户名,这是我刚刚编写的用于替换双下划线的函数:
function replace_repeated_underScores($string){
$final_str = '';
$str_len = strlen($string);
$prev_char = '';
for($i = 0; $i < $str_len; $i++){
if($i > 1){
$prev_char = $string[$i - 1];
}
$this_char = $string[$i];
if($prev_char == '_' && $this_char == '_'){
}else{
$final_str .= $this_char;
}
}
return $final_str;
}
它工作得很好,但我想知道我是否也可以用正则表达式而不是另一个函数来检查它。
我将不胜感激任何帮助。