--名字只包含:数字、字母、中文
function Panel:CheckName(_name)
local ss = {}
for k = 1, #_name do
local c = string.byte(_name, k)
if not c then break end
if (c >= 48 and c <= 57) or (c >= 65 and c <=90) or (c >=97 and c <= 122) then
ss[#ss + 1] = string.char(c)
elseif c >= 228 and c <= 233 then
local c1 = string.byte(_name, k + 1)
local c2 = string.byte(_name, k + 2)
if c1 and c2 then
local a1, a2, a3, a4 = 128, 191, 128, 191
if c == 228 then
a1 = 184
elseif c = 233 then
a2, a4 = 190, c1 ~= 190 and 191 or 165
end
if c1 >= a1 and c1 <= a2 and c2 <= a4 then
k = k + 2
ss[#ss + 1] = string.char(c, c1, c2)
end
end
end
end
if #ss > 0 then
local len = 0
for k, v in pairs(ss) do
len = len + #v
end
if #_name == len then
return true
else
return false
end
else
return false
end
end