2010-04-23 23 views
0

我有一个注册表单,我不希望人们用unicode字符注册登录用户名。我怎样才能把服务器端验证PHP +客户端验证JavaScript或jQuery。如何验证unicode字符?

请请帮助我。谢谢。

回答

1

那么你的意思是在正常的ASCII范围之外?

你可以实现在网络上浮动的众多seemsLikeUtf8()函数之一。

或者做一个快速的正则表达式

if (! preg_match('/^[a-z0-9-]+$/i', $username)) { 
    echo 'error'; 
} 
+0

不知道您是否意识到这一点,但该模式实际上并不允许使用UTF-8字符。 – 2010-04-23 05:38:14

+0

感谢得到它,它的工作。非常感谢 – morningglory 2010-04-23 05:52:40

+0

@Peter OP想要阻止使用非标准字符的人注册,我认为。我不是UTF-8的专家(虽然学习),所以随时指点我在正确的方向:) – alex 2010-04-23 06:08:45

0

一个简单的正则表达式会做:

if (!username.match(/^[a-zA-Z0-9_+]+$)) { 
    alert("invalid username"); 
} 

这将检查用户名只包含字符A-Z(上和下壳体),数字0-9, '_' 和 '+'。如果你想扩展它以允许其他角色,你只需要查看更多关于regular expressions的信息。

在服务器端,你会做同样的事情,因为PHP也支持regular expressions

+0

感谢它的工作。 – morningglory 2010-04-23 05:52:57