2010-04-23 3 views
0

У меня есть одна регистрационная форма, я не хочу, чтобы люди регистрировали имя пользователя с помощью символов Юникода. Как я могу поместить проверку на стороне сервера PHP + проверку на стороне клиента javascript или jquery.Как проверить символы юникода?

Просьба любезно помочь мне. Спасибо.

ответ

1

Ну, вы имеете в виду вне нормального диапазона ASCII?

Вы можете реализовать одну из многих функций seemsLikeUtf8(), плавающих вокруг в сети.

Или сделать быстрый регулярное выражение

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

Не уверен, что вы это осознаете или нет, но этот шаблон фактически не допускает символов UTF-8. –

+0

спасибо, и он сработал. Большое спасибо – morningglory

+0

@Peter OP хотел остановить людей, регистрирующихся с использованием нестандартных символов, я думаю. Я не эксперт по UTF-8 (хотя и учась), поэтому не стесняйтесь указывать мне в правильном направлении :) – alex

0

Простое регулярное выражение будет делать:

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

Это проверит, что имя пользователя содержит только символы A-Z (верхний и нижний регистр), цифры 0-9, '_' и '+'. Если вы хотите расширить его, чтобы разрешить другим персонажам, вам просто нужно найти немного больше о regular expressions.

На стороне сервера вы сделали бы то же самое, поскольку PHP также поддерживает regular expressions.

+0

благодаря его работал. – morningglory

Смежные вопросы