我有一个reg exp,它应该检查名称中是否有任何非法字符.允许的字符是0-9,az,AZ,middlescore( - )和下划线(_).
这是功能
function validate_playername($playername){
if (preg_match('/^[0-9A-Z-_]$/i',$playername)) {
return true;
} else{
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
这个函数就是这样调用的
if (validate_playername($addplayer)) {
echo "valid player Name";
} else {
echo "Invalid Player Name";
}
Run Code Online (Sandbox Code Playgroud)
但是,当我输入像velocity28这样的正确名称时,它将返回无效的播放器名称.我的reg错了吗?
/^[0-9A-Z-_]$/i 只匹配一个字符.
追加+以匹配多个字符:
'/^[-0-9A-Z_]+$/i'
Run Code Online (Sandbox Code Playgroud)
-了开头.UPDATE
正如Enissay评论的那样,正则表达式可以通过以下方式简化\w:
'/^[-\w]+$/'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
92 次 |
| 最近记录: |