正在处理我网站的注册页面,我想格式化用户名字段,以防止用户提交其中包含空格的用户名。 例如,如果用户提交像“space man”这样的用户名,我想将其更改为“space_man”。 我正在使用php,我该如何处理它。
答案 0 :(得分:0)
str_replace(' ','_',$input);
答案 1 :(得分:0)
这是一个简单的字符串替换:
$username = str_replace(" ", "_", $username);
答案 2 :(得分:0)
我当然感谢strtr:
strtr($_GET['username'],' ','_');
它也非常强大
strtr($_GET['username'],array(' '=>'_',"\t"=>'_'));
显然,str_replace 也有效。
答案 3 :(得分:0)
这样做的最佳方法之一是在两个地方验证 - 客户端和服务器。
在客户端,您必须使用javascript进行验证。
obj.value.replace(" ", "_");
alert("Invalid username. Changing space to underscore.");
在php中也在服务器端做同样的事情。
strstr($_POST['username'],' ','_');
如果“空间”是唯一对您而言重要的事情,那么就可以做到这一点。否则你必须写下所有的规则。
答案 4 :(得分:0)
str_replace(' ', '_', $txtUserName);
答案 5 :(得分:-3)
看看http://www.php.net/str_replace - 我相信你会从那里弄明白。当然,还有很多你想要验证的东西,所以最好做白名单过滤(比如你允许的,而不是你不允许的),像这个正则表达式:
if (! preg_match('/^[a-z0-9]{3,32}$/', $_POST['username'])) {
die('Invalid username'); // of course, dying is not good either, just for the example
}