⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 stringutils.as

📁 flex 实现的一个showcase 喜欢flex的朋友可以
💻 AS
字号:
package com.teknision.utils{

// TONY MacDonell
// Additions by Stacey Mulcahy 
	public class StringUtils {
		public static function returnBetween(p_string:String, p_start:Number, p_end:Number):String {
			trace("fullString: "+p_string+" start: "+p_start+" end: "+p_end);
			var newString:String = p_string.slice(p_start, p_end);
			return newString;
		}
		// trim
		//trims whitespace from the entire content of a string excluding 'Space'
		public static function trimWithin(p_string:String):String {
			/*
			codes:
			13- Newline
			10- Newline
			9- Tab 
			*/
			var retstr:String = p_string.split(String.fromCharCode(13)).join("").split(String.fromCharCode(10)).join("").split(String.fromCharCode(9)).join("").split("  ").join("");
			return (retstr);
		}
		//trims whitespace from the front and back of a string
		public static function trim(p_string:String):String {
			var retstr:String = p_string;
			/*
			codes:
			13- Newline
			10- Newline
			9- Tab 
			32- Space
			*/
			while (retstr.charCodeAt(0) == 13 || retstr.charCodeAt(0) == 10 || retstr.charCodeAt(0) == 9 || retstr.charCodeAt(0) == 32) {
				retstr = retstr.slice(1);
			}
			while (retstr.charCodeAt(retstr.length-1) == 13 || retstr.charCodeAt(retstr.length-1) == 10 || retstr.charCodeAt(retstr.length-1) == 9 || retstr.charCodeAt(retstr.length-1) == 32) {
				retstr = retstr.slice(0, retstr.length-1);
			}
			return (retstr);
		}
		// SM March 2006 Addition
		// Trims white space on either side of the string as in ASP
		public static function trimAll(p_string:String):String {
			return (rTrim(lTrim(p_string)));
		}
		// SM March 2006 Addition
		// Right Trim- Trim all white space to the Left of the String like ASP
		public static function rTrim(p_string:String):String {
			var str:Array = p_string.split("");
			var j:Number = str.length-1;
			while (j>0) {
				if (str[j] == " ") {
					str[j] = "";
				} else {
					break;
				}
				j--;
			}
			return (str.join(""));
		}
		// SM March 2006 Addition
		// Left Trim- Trim all white space to the Left of the String like ASP
		public static function lTrim(p_string:String):String {
			var str:Array = p_string.split("");
			var j:Number = 0;
			while (j<str.length) {
				if (str[j] == " ") {
					str[j] = "";
				} else {
					break;
				}
				j++;
			}
			return (str.join(""));
		}
		// SM March 2006 Addition
		// Capitalize the first Letter
		public static function captialize(p_string:String):String {
			//trim 
			var str:String = lTrim(p_string);
			// in case there is white space
			return (str.charAt(0).toUpperCase()+str.substr(1, str.length));
		}
		// Replace String
		public static function replaceStr(p_string:String, p_searchString:String, p_replaceString:String):String {
			return p_string.split(p_searchString).join(p_replaceString);
		}
		// SM March 2006 Addition
		// Contains
		public static function contains(p_string:String, p_searchString:String):Boolean {
			return (p_string.indexOf(p_searchString)>-1);
		}
		// SM March 2006 Addition
		//Capitalize words in a sentence
		public static function capitalizeWords(p_string:String):String {
			var str:String = new String();
			var a:Array = p_string.split(" ");
			var l:Number = a.length;
			for (var i:Number = 0; i<l; i++) {
				str += captialize(a[i]);
				str += " ";
			}
			return (str);
		}
		// SM March 2006 Addition
		// Returns a boolean based on if the string starts 
		public static function beginsWith(p_string:String, p_substr:String):Boolean {
			return (p_string.substring(0, p_substr.length) === p_substr);
		}
		// SM March 2006 Addition
		public static function endsWith(p_string:String, p_substr:String):Boolean {
			return (p_string.substring(p_string.length-p_substr.length) === p_substr);
		}
		// SM March 2006 Addition
		// REVERSE THE STRING
		public static function reverse(p_string:String):String {
			var rtnString:String = new String();
			for (var i:Number = 0; i<p_string.length; i++) {
				rtnString = p_string.charAt(i)+rtnString;
			}
			return (rtnString);
		}
		// SM March 2006 Addition
		
		public static function isNumeric(i_value:Object):Boolean {
			var num:Number = new Number(i_value);
			return (!(isNaN(num)));
		}
		
		// SM March 2006 Addition
		// TODO:: Should probably be moved to a Formatting Class
		public static function formatCurrencyCommas(p_string:String):String {
			var l:Number = p_string.length;
			var rtnStr:String = new String();
			for (var i:Number = l; i>0; i--) {
				if (!((l-i)%3)) {
					rtnStr = ","+rtnStr;
				}
				rtnStr = p_string.charAt(i-1)+rtnStr;
			}
			rtnStr = rtnStr.substr(0, rtnStr.length-1);
			return rtnStr;
		}
		/*
		   * 7181238748 to 1(718)123-8748
		   */
		// SM March 2006 Addition
		// TODO:: Should probably be moved to a Formatting Class
		// TODO:: to be tested
		public static function formatPhoneNumber(p_string:String):String {
			var rtnValue:String = "";
			if (p_string.length != 10 || p_string == null) {
				return (p_string);
			} else {
				rtnValue = "1(";
				var area:String = p_string.substring(0, 3);
				rtnValue += area+")";
				var st:String = p_string.substring(3, 6);
				rtnValue += st+"-";
				var end:String = p_string.substring(6, 10);
				rtnValue += end;
			}
			return rtnValue;
		}
		//takes a string with containing urls and formats them as HTML links
		// Tony 
		public static function formatLinksAsHTML(p_string:String, p_underline:Boolean, p_target:String):String {
			var message:String = " "+p_string;
			// SM additions to ensure those are optional params
			p_target = (p_target != null) ? p_target : "_blank";
			var linksplit:Array = message.split("http://");
			var l:Number = linksplit.length;
			var returntext:String = new String();
			for (var i:Number = 0; i<l; i++) {
				var spacepos:Number = linksplit[i].indexOf(" ", 0);
				spacepos = (spacepos == -1) ? linksplit[i].length : spacepos;
				if (spacepos != 0) {
					var link:String = linksplit[i].substring(0, spacepos);
					var resttext:String = linksplit[i].substring(spacepos+1);
					var finallink:String = new String();
					var finaltext:String = new String();
					finallink = "<A HREF='http://"+link+"' TARGET='"+p_target+"'>"+link+"</A>";
					if (p_underline) {
						finallink = "<U>"+finallink+"</U>";
					}
					finaltext = finallink+" "+resttext;
					returntext += finaltext;
				} else {
					finaltext = linksplit[i].substring(1);
					returntext += finaltext;
				}
			}
			return (returntext);
		}
		// SM August 2005. This is my version :)
		public static function hiliteURLs(p_string:String, p_color:String):String {
			var tmp:Array = p_string.split(" ");
			p_color = (p_color != null) ? p_color : "#CC0000";
			for (var i:Number = 0; i<tmp.length; i++) {
				if (tmp[i].indexOf("www.") != -1 && tmp[i].indexOf("http://") == -1) {
					tmp[i] = "<font color='"+p_color+"'><u><a href='http://"+tmp[i]+"' target='_blank'>"+tmp[i]+"</a></u></font>";
				} else if (tmp[i].indexOf("http://") != -1 || tmp[i].indexOf("ftp://") != -1) {
					tmp[i] = "<font color='"+p_color+"'><u><a href='"+tmp[i]+"' target='_blank'>"+tmp[i]+"</a></u></font>";
				} else if (tmp[i].indexOf("@") != -1 && tmp[i].charAt(0) != "@" && tmp[i].charAt(tmp[i].length-1) != "@") {
					tmp[i] = "<font color='"+p_color+"'><u><a href='mailto:"+tmp[i]+"'>"+tmp[i]+"</a></u></font>";
				}
			}
			
			return tmp.join(" ");
		}
		
		public static function getStringBetween(p_string:String,startStr:String,endStr:String):String{
			var startnum:Number = p_string.indexOf(startStr);
			var endnum:Number = p_string.indexOf(endStr);
			var stringBetween:String = p_string.slice((startnum+startStr.length),endnum);
			return stringBetween;
		}
		
		
		public static function replaceVariableSpan(p_string:String,startStr:String,endStr:String,rplcStr:String):String{
			
			var c_index:Number=0;
			
			while(c_index!=-1){
				c_index=p_string.indexOf(startStr,c_index);
				if(c_index!=-1){
					
					var t_index:Number=p_string.indexOf(endStr,c_index+startStr.length);
					if(t_index!=-1){
						var end_val:Number=t_index+endStr.length;
						var addstr:String="";
						if(rplcStr!=null){
							addstr=rplcStr;
						}
						var new_str:String=p_string.substring(0,c_index)+addstr+p_string.substring(end_val);
						p_string=new_str;
						c_index+=addstr.length;
					}else{
						c_index+=1;
					}
				}
			}
			
			return p_string;
		}
		
		
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -