- 人气:
- 放大
- 缩小
- 二维码
- 赞赏
delphi 中文姓名 合法性检查
function checkCName(value: string): boolean;
var
i, k: integer;
cstr, estr: string;
begin
result := false;
k := pos(' ', value);
if k > 0 then // 有空格
begin
cstr := copy(value, 1, k-1);
estr := copy(value, k+1, 255);
// 汉字部分不全是汉字
if 2*length(widestring(cstr)) <> length(ansistring(cstr)) then
exit;
for i := 1 to length(estr) do // 英文部分不全是英文
begin
if not (estr[i] in ['a'..'z', 'A'..'Z']) then
exit;
end;
end else // 没有空格
begin
if (2*length(widestring(value)) <> length(ansistring(value))) // 不全是汉字
and (length(widestring(value)) <> length(ansistring(value))) then // 不全是英文
begin
exit;
end;
end;
result := true;
end;