Flex个人知识库(四)正则表达式

Flex个人知识库(4)正则表达式
1、 自定义的进度条
<?xml version="1.0" encoding="utf-8"?>
<s:HGroup xmlns:fx="http://ns.adobe.com/mxml/2009" 
				xmlns:s="library://ns.adobe.com/flex/spark" 
				xmlns:mx="library://ns.adobe.com/flex/mx" 
				xmlns="library://ns.apuisc.com/flex"
				width="220" left="5" verticalAlign="middle"
				xmlns:local="*"
				>
	<fx:Declarations>
		<!-- 将非可视元素(例如服务、值对象)放在此处 -->
	</fx:Declarations>
	<fx:Script>
		<![CDATA[
			import spark.components.Label;
			[Bindable]
			public var percentageBarBgColor:uint = uint("0x04dc04");
			[Bindable]
			public var percent:int=60;
			[Bindable]
			public var detail:String="使用率";
			
		]]>
	</fx:Script>
	<local:HPercentageBar id="percentageBar" width="40%" height="20" bgColor="{percentageBarBgColor}" percent="{percent}"/>
	<s:Label width="60%" height="100%" id="label" text="{detail}" paddingLeft="3" paddingRight="3" paddingBottom="3" paddingTop="3"/>
</s:HGroup>


<?xml version="1.0" encoding="utf-8"?>
<s:BorderContainer xmlns:fx="http://ns.adobe.com/mxml/2009" 
		  xmlns:s="library://ns.adobe.com/flex/spark" 
		  width="100%" height="100%" borderWeight="1">
	<s:layout>
		<s:HorizontalLayout verticalAlign="middle" gap="10"/>
	</s:layout>
	<fx:Declarations>
		<!-- 将非可视元素(例如服务、值对象)放在此处 -->
	</fx:Declarations>
	<fx:Script>
		<![CDATA[
			[Bindable]
			public var bgColor:uint = uint("0x04dc04");
			[Bindable]
			public var percent:int;
			
		]]>
	</fx:Script>
	<s:Rect percentWidth="{percent}" percentHeight="100" alpha="0.8f" >
		<s:fill >
			<s:SolidColor color="{bgColor}" />
		</s:fill>
	</s:Rect>
</s:BorderContainer>


2、 常用正则表达式
public class StringHelper {
		
		public function StringHelper() {
		}
		
        public static function getRequestId():String {
            var currentUserId:String = SessionManager.getInstance().user.id;
            return currentUserId + "_" + new Date().time;
        }
		
		public static function isEmpty(str:String):Boolean {
			return str == null || StringUtil.trim(str).length == 0;
		}
        
        public static function validateNumber(str:String):Boolean {
            var pattern:RegExp = /^[0-9a-zA-Z]{1,40}$/;
            var result:Object = pattern.exec(str);
            if(result == null) {
                return false;
            }
            return true;
        }
        
        public static function validateEmail(str:String):Boolean {
			var pattern:RegExp =  /^[a-zA-Z0-9_-]+@[a-zA-Z0-9]+(\.[a-zA-Z0-9]+)+$/;
            var result:Object = pattern.exec(str);
            if(result == null) {
                return false;
            }
            return true;
        }
        public static function validatePhoneNumber(str:String):Boolean {
			var pattern:RegExp = /^(\d{11}|\d{4}-\d{7,8}|\d{3}-\d{7,8}|\(\d{4}\)\d{7,8}|\(\d{3}\)\d{7,8})$/;
            var result:Object = pattern.exec(str);
            if(result == null) {
                return false;
            }
            return true;
        }
		
		public static function validateMobilePhoneNumber(str:String):Boolean{
			var pattern:RegExp = /^(13[0-9]|15[0|3|6|7|8|9]|18[8|9])\d{8}$/;
			var result:Object = pattern.exec(str);
			if(result==null){
			return false;
			}
			return true;
		}
		
		public static function validateIP(ip:String):Boolean{
			var pattern:RegExp=/^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/;
			var result:Object=pattern.exec(ip);
			if(result==null){
				return false;
			}
			return true;
		}	
		
		public static function validateDomainName(domainName:String):Boolean{
			var pattern:RegExp =/^[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+\.?$/;
			var result:Object = pattern.exec(domainName);
			if(result==null){
				return false;
			}
			return true;
		}
	}