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;

相关阅读 >>

Delphi 双击listbox1内容,数据插入到memo1/synedit1鼠标指定位置

Delphi将图片转换成文本支持转换回去

Delphi 使richedit中的链接可以点击

Delphi 获取汉字拼音首字母

Delphi 如何读取文件头 判断文件类型

Delphi 获取北京时间

Delphi-基础(for循环)

Delphi 判断字符是否是汉字

Delphi xe webbroker 开发,解决 response 返回中文乱码问题

Delphi access存储过程是带参数的查询语句

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...