Kenix Posted August 29, 2011 Share Posted August 29, 2011 Всем привет у меня есть проблема с русскими символами. Я уже пробывал через string.find но у меня была проблема с $ поэтому я сделал свою функцию. Клиент: words = {"а","б","в","г","д","е","ё","ж","з","и","й","к","л","м","о","п","р","с","т","у","ф","х","ц","ч","щ","ь","ы","ъ","э","ю","я","!","@","#","$","%","^","&","*","(",")","№",";",":","?"} loginButton = {} loginEdit = {} loginEdit[0] = guiCreateEdit(0.475,0.4263,0.0812,0.0244,"",true) -- едит аккаунта guiSetAlpha(loginEdit[0],0.75) loginButton[2] = guiCreateButton(0.3858,0.8154,0.1917,0.0601,"Зарегистрироваться",true) addEventHandler("onClientGUIClick",loginButton[2], function() local accText = guiGetText(loginEdit[0]) if string.findtable(accText,words) then -- всё что угодно ... end end) function string.findtable( text, theTable ) for j=1, string.len( text ) do local char = string.sub( tostring(text), j, j ) for k=1, #theTable do local character = theTable[k] outputDebugString( "if "..tostring(char).." == "..tostring(character).." then") if char == character then outputChatBox( "Найден недопустимый символ", 0, 255, 0 ) return true end end end outputChatBox( "Не найден недопустимый символ", 255, 0, 0 ) return false end Когда я редактирую эдит и пишу туда букву "д" то в clientscript.log, я вижу 'if Р == Рґ then' вместо 'if д == д then' Я видел, что есть некоторые UTF функции, но я не знаю, как их использовать и, если они могут исправить мою проблему. Вообщем суть такова когда человек заполняет поля Аккаунта едит при нажатии на кнопку "Зарегистрироваться" проверять не ввёл ли игрок русские символы или "#,%,?" и т.д Link to comment
MX_Master Posted August 29, 2011 Share Posted August 29, 2011 это просто пример, если что не так, скажи local str = "qwerty#" if string.find( str, '^[0-9A-Za-z]+$' ) then -- OK else -- INCORRECT end Link to comment
MX_Master Posted August 29, 2011 Share Posted August 29, 2011 Кенни (: что ты хотел сказать этой цитатой первого поста? Кстати, я думаю надо бы добавить в разрешенные символы и подчеркивающую _ '^[0-9A-Za-z_]+$' Link to comment
Kenix Posted August 29, 2011 Author Share Posted August 29, 2011 Кенни (: что ты хотел сказать этой цитатой первого поста? Я ничего, просто у меня случайно копирнулось в цитату Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now