FLEX 中英文姓名校验器 VALIDATOR

原创 2007年09月25日 22:29:00

为我那个无聊的缘分测试程序所写的中英文名字校验器,希望对大家能有作用

 

package com.love
{
 import mx.validators.Validator;
    import mx.validators.ValidationResult;

 public class NameValidator extends Validator
 {
  private var results:Array;
  
  private var isChinese:Boolean=false;
  private var isEnglish:Boolean=false;
  
  public function NameValidator()
  {
   super();
  }
  
  static public function isAsciiLetter( n:Number ):Boolean
  {
   if ( n >= 0x41 && n<= 0x5a ) return true;
   else if ( n >= 0x61 && n<= 0x7a ) return true;
   
   return false;
  }
  
  static public function isChineseCharacter( n:Number):Boolean
  {
   if ( n >= 0x3000 && n <= 0x9fff ) return true;   
   return false;   
  }
  
  static public function isUSLetter( n:Number):Boolean
  {
    if ( n >= 0x0530 && n <=0x058f ) return true;
    return false;
  }

   override protected function doValidation(value:Object):Array
   {

isChinese = false;
    isEnglish = false;
    
    var name:String = (String)(value);
    results = [];
   results = super.doValidation(value);
   
   if (results.length > 0)return results;
   
   
   if ( name.length < 2 || name.length >16 )
   {
    results.push(new ValidationResult(true, null, "Invalid",
                    "不正确的名字长度"));
    return results;
   }
      

    for ( var i:int=0;i<name.length;i++ )
    {
     var code:Number = name.charCodeAt(i);
     if ( isChineseCharacter (code) )
     {
      this.isChinese = true;
      //this.isEnglish = false;
     }
     else if ( isAsciiLetter(code) || isUSLetter(code) )
     {
      //this.isChinese = false;
      this.isEnglish = true;
     }
     else
     {
      this.isChinese = false;
      this.isEnglish = false;
     }
    }
    
    if ( (!isChinese && !isEnglish)  )
    {
     results.push(new ValidationResult(true, null, "Invalid",
                    "请使用纯中文或者纯英文的名字"));
     return results;
    }
    
    if ( isChinese && isEnglish )
    {
     results.push(new ValidationResult(true, null, "Invalid",
                    "请使用纯中文或者纯英文的名字"));
     return results;
    }
    
    return results;
    
   }

 }
 
 /*
              *  中国、日本和韩国的象形文字(总称为CJK)占用了从0x3000到0x9FFF的代码
               *  希腊字母表使用从0x0370到0x03FF的代码
               *  斯拉夫语使用从0x0400到0x04FF的代码
               *  美国使用从0x0530到0x058F的代码,补充ASCII码
               *  希伯来语使用从0x0590到0x05FF的代码
               */

正则表达式同时匹配中英文_,还控制长度

匹配中文:[\u4e00-\u9fa5]  英文字母:[a-zA-Z]  数字:[0-9]  匹配中文,英文字母和数字及_:  ^[\u4e00-\u9fa5_a-zA-Z0-9]...
  • dl020840504
  • dl020840504
  • 2013年05月03日 15:55
  • 41021

formValidator自动验证表单api手册及代码

web开发中最多的是表单,而表单验证却大同小异,利用jquery插件实现表单的自动验证,方便web开发中后台程序重复性的编写js验证表单,可以大大提高开发速度。...
  • u013110984
  • u013110984
  • 2015年02月12日 15:24
  • 1720

jQuery表单验证插件Validator的使用方法

from表单数据的合法性验证是个很常见的需求,jQuery提供了一个插件:jquery validate 官网下载。    若想使用需先引用jquery.validate.js,并且要在jquery...
  • u014291497
  • u014291497
  • 2016年03月15日 23:12
  • 2865

使用Validator做SpringMVC的验证框架 - 使用Validator

前面一章我们已经搭好SpringMVC的环境了。现在开始学习Validator框架的使用吧 Validator框架源码地址:https://github.com/devefx/validator ...
  • devefx
  • devefx
  • 2016年06月02日 15:35
  • 3786

11.Laravel5学习笔记:扩展 Validator 类

简介在 Laravel5 中,本身已经提供了丰富的验证规则供我们使用,但是天下应用奇葩多,做为程序员你会发现永远都有新的验证规则诞生,光是组合已经拯救不了你的项目了。这个时候就需要我们扩展 Valid...
  • hel12he
  • hel12he
  • 2015年08月12日 19:00
  • 5357

SpringMVC 之validator验证笔记(五)

SpringMVC支持的数据校验是JSR303的标准,通过在bean的属性上打上annotation @NotNull @Max等进行验证。JSR303提供有很多annotation借口,而Sprin...
  • tony308001970
  • tony308001970
  • 2017年05月24日 16:54
  • 884

java web 项目实现手动中英文切换

java国际化实现思路     Java程序的国际化思路是将程序中的标签、提示信息等放在资源文件中,程序需要支持国家/语言环境,则必须提供对应的资源文件。资源文件是key-value对,每个资源文件中...
  • ldybing
  • ldybing
  • 2016年08月16日 12:17
  • 5629

jQuery formValidator的一些验证实例

原文链接:http://www.cnblogs.com/talk/archive/2012/01/29/2330887.html $(function(){ try { $....
  • qq812069449
  • qq812069449
  • 2015年08月18日 09:03
  • 301

使用Validator做SpringMVC的验证框架 - Validator前端验证

上一章只为大家介绍了Validator的后端验证功能,接下来就为大家介绍一下Validator前端功能,你会发现他的巧妙之处。 Validator框架源码地址:https://github.com...
  • devefx
  • devefx
  • 2016年06月03日 09:58
  • 5220

validator自定义方法

Jquery-validate插件                       body{font-size: 36px;             line-height: 1.6; ...
  • douyunqian668
  • douyunqian668
  • 2016年10月20日 16:29
  • 225
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:FLEX 中英文姓名校验器 VALIDATOR
举报原因:
原因补充:

(最多只允许输入30个字)