Delphi中使用正则表达式校验中文姓名  
官方Delphi 学习QQ群: 682628230(三千人)
频道

Delphi中使用正则表达式校验中文姓名


Delphi中使用正则表达式校验中文姓名

uses system.RegularExpressions;

function IsChineseName(const aName:string; const aMaxLength:Integer=10):Boolean;
begin
//只检查基本汉字:
//  var Pattern := '^[\x{4E00}-\x{9FA5}]{2,'+aMaxLength.ToString+'}(·[\x{4E00}-\x{9FA5}]{2,'+aMaxLength.ToString+'}){0,2}$';

//检查下面所有内容:
//基本汉字       4E00-9FA5
//基本汉字补充   9FA6-9FCB
//扩展A          3400-4DB5
//扩展B          20000-2A6D6
//扩展C          2A700-2B734
//扩展D          2B740-2B81D
//兼容汉字       F900-FAD9

  var Pattern := '^[\x{4E00}-\x{9FA5}\x{9FA6}-\x{9FCB}\x{3400}-\x{4DB5}\x{20000}-\x{2A6D6}\x{2A700}-\x{2B734}\x{2B740}-\x{2B81D}\x{F900}-\x{FAD9}]{2,'+aMaxLength.ToString
              +'}(·[\x{4E00}-\x{9FA5}\x{9FA6}-\x{9FCB}\x{3400}-\x{4DB5}\x{20000}-\x{2A6D6}\x{2A700}-\x{2B734}\x{2B740}-\x{2B81D}\x{F900}-\x{FAD9}]{2,'+aMaxLength.ToString+'}){0,2}$';


  result:= TRegEx.Match(aName,Pattern).Success;

end;



推荐分享
图文皆来源于网络,内容仅做公益性分享,版权归原作者所有,如有侵权请告知删除!
 

Copyright © 2014 DelphiW.com 开发 源码 文档 技巧 All Rights Reserved
晋ICP备14006235号-8 晋公网安备 14108102000087号

执行时间: 0.037188053131104 seconds