`
ch_kexin
  • 浏览: 899464 次
  • 性别: Icon_minigender_2
  • 来自: 青岛
社区版块
存档分类
最新评论

AS3-StringUtil

阅读更多
/**  


package util{
	
	import flash.utils.ByteArray;
	
	public class StringUtil{
				
		//忽略大小字母比较字符是否相等;
		public static function equalsIgnoreCase(char1:String,char2:String):Boolean{
			return char1.toLowerCase() == char2.toLowerCase();
		}
		
		//比较字符是否相等;
		public static function equals(char1:String,char2:String):Boolean{
			return char1 == char2;
		}
		
		//是否为Email地址;
		public static function isEmail(char:String):Boolean{
			if(char == null){
				return false;
			}
			char = trim(char);
			var pattern:RegExp = /(\w|[_.\-])+@((\w|-)+\.)+\w{2,4}+/; 
			var result:Object = pattern.exec(char);
            if(result == null) {
                return false;
            }
            return true;
		}
		
		//是否是数值字符串;
		public static function isNumber(char:String):Boolean{
			if(char == null){
				return false;
			}
			return !isNaN(Number(char));
		}
		
		//是否为Double型数据;
		public static function isDouble(char:String):Boolean{
			char = trim(char);
			var pattern:RegExp = /^[-\+]?\d+(\.\d+)?$/; 
			var result:Object = pattern.exec(char);
            if(result == null) {
                return false;
            }
            return true;
		}
		//Integer;
		public static function isInteger(char:String):Boolean{
			if(char == null){
				return false;
			}
			char = trim(char);
			var pattern:RegExp = /^[-\+]?\d+$/; 
			var result:Object = pattern.exec(char);
            if(result == null) {
                return false;
            }
            return true;
		}
		//English;
		public static function isEnglish(char:String):Boolean{
			if(char == null){
				return false;
			}
			char = trim(char);
			var pattern:RegExp = /^[A-Za-z]+$/; 
			var result:Object = pattern.exec(char);
            if(result == null) {
                return false;
            }
            return true;
		}
		//中文;
		public static function isChinese(char:String):Boolean{
			if(char == null){
				return false;
			}
			char = trim(char);
			var pattern:RegExp = /^[\u0391-\uFFE5]+$/; 
			var result:Object = pattern.exec(char);
            if(result == null) {
                return false;
            }
            return true;
		}
		//双字节
		public static function isDoubleChar(char:String):Boolean{
			if(char == null){
				return false;
			}
			char = trim(char);
			var pattern:RegExp = /^[^\x00-\xff]+$/; 
			var result:Object = pattern.exec(char);
            if(result == null) {
                return false;
            }
            return true;
		}
		
		//含有中文字符
		public static function hasChineseChar(char:String):Boolean{
			if(char == null){
				return false;
			}
			char = trim(char);
			var pattern:RegExp = /[^\x00-\xff]/; 
			var result:Object = pattern.exec(char);
            if(result == null) {
                return false;
            }
            return true;
		}
		//注册字符;
		public static function hasAccountChar(char:String,len:uint=15):Boolean{
			if(char == null){
				return false;
			}
			if(len < 10){
				len = 15;
			}
			char = trim(char);
			var pattern:RegExp = new RegExp("^[a-zA-Z0-9][a-zA-Z0-9_-]{0,"+len+"}$", ""); 
			var result:Object = pattern.exec(char);
            if(result == null) {
                return false;
            }
            return true;
		}
		//URL地址;
		public static function isURL(char:String):Boolean{
			if(char == null){
				return false;
			}
			char = trim(char).toLowerCase();
			var pattern:RegExp = /^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/; 
			var result:Object = pattern.exec(char);
            if(result == null) {
                return false;
            }
            return true;
		}
		
		// 是否为空白;		
		public static function isWhitespace(char:String):Boolean{
			switch (char){
	            case " ":
	            case "\t":
	            case "\r":
	            case "\n":
	            case "\f":
	                return true;	
				default:
	                return false;
	        }
		}
		
		//去左右空格;
		public static function trim(char:String):String{
			if(char == null){
				return null;
			}
			return rtrim(ltrim(char));
		}
		
		//去左空格; 
		public static function ltrim(char:String):String{
			if(char == null){
				return null;
			}
			var pattern:RegExp = /^\s*/; 
			return char.replace(pattern,"");
		}
		
		//去右空格;
		public static function rtrim(char:String):String{
			if(char == null){
				return null;
			}
			var pattern:RegExp = /\s*$/; 
			return char.replace(pattern,"");
		}
		
		//是否为前缀字符串;
		public static function beginsWith(char:String, prefix:String):Boolean{			
			return (prefix == char.substring(0, prefix.length));
		}
		
		//是否为后缀字符串;
		public static function endsWith(char:String, suffix:String):Boolean{
			return (suffix == char.substring(char.length - suffix.length));
		}
		
		//去除指定字符串;
		public static function remove(char:String,remove:String):String{
			return replace(char,remove,"");
		}
		
		//字符串替换;
		public static function replace(char:String, replace:String, replaceWith:String):String{			
			return char.split(replace).join(replaceWith);
		}
		
		//utf16转utf8编码;
		public static function utf16to8(char:String):String{
			var out:Array = new Array();
			var len:uint = char.length;
			for(var i:uint=0;i<len;i++){
				var c:int = char.charCodeAt(i);
				if(c >= 0x0001 && c <= 0x007F){
					out[i] = char.charAt(i);
				} else if (c > 0x07FF) {
					out[i] = String.fromCharCode(0xE0 | ((c >> 12) & 0x0F),
												 0x80 | ((c >>  6) & 0x3F),
												 0x80 | ((c >>  0) & 0x3F));
				} else {
					out[i] = String.fromCharCode(0xC0 | ((c >>  6) & 0x1F),
												 0x80 | ((c >>  0) & 0x3F));
				}
			}
			return out.join('');
		}
		
		//utf8转utf16编码;
		public static function utf8to16(char:String):String{
			var out:Array = new Array();
			var len:uint = char.length;
			var i:uint = 0;
			var char2:int,char3:int;
			while(i<len){
				var c:int = char.charCodeAt(i++);
				switch(c >> 4){
					case 0: case 1: case 2: case 3: case 4: case 5: case 6: case 7:
						// 0xxxxxxx
						out[out.length] = char.charAt(i-1);
						break;
					case 12: case 13:
						// 110x xxxx   10xx xxxx
						char2 = char.charCodeAt(i++);
						out[out.length] = String.fromCharCode(((c & 0x1F) << 6) | (char2 & 0x3F));
						break;
					case 14:
						// 1110 xxxx  10xx xxxx  10xx xxxx
						char2 = char.charCodeAt(i++);
						char3 = char.charCodeAt(i++);
						out[out.length] = String.fromCharCode(((c & 0x0F) << 12) |
							((char2 & 0x3F) << 6) | ((char3 & 0x3F) << 0));
						break;
				}
			}
			return out.join('');
		}
		
		//转换字符编码;
		public static function encodeCharset(char:String,charset:String):String{
			var bytes:ByteArray = new ByteArray();
			bytes.writeUTFBytes(char);
			bytes.position = 0;
			return bytes.readMultiByte(bytes.length,charset);
		}
		
		//添加新字符到指定位置;		
		public static function addAt(char:String, value:String, position:int):String {
			if (position > char.length) {
				position = char.length;
			}
			var firstPart:String = char.substring(0, position);
			var secondPart:String = char.substring(position, char.length);
			return (firstPart + value + secondPart);
		}
		
		//替换指定位置字符;
		public static function replaceAt(char:String, value:String, beginIndex:int, endIndex:int):String {
			beginIndex = Math.max(beginIndex, 0);			
			endIndex = Math.min(endIndex, char.length);
			var firstPart:String = char.substr(0, beginIndex);
			var secondPart:String = char.substr(endIndex, char.length);
			return (firstPart + value + secondPart);
		}
		
		//删除指定位置字符;
		public static function removeAt(char:String, beginIndex:int, endIndex:int):String {
			return StringUtil.replaceAt(char, "", beginIndex, endIndex);
		}
		
		//修复双换行符;
		public static function fixNewlines(char:String):String {
			return char.replace(/\r\n/gm, "\n");
		}
	}
}
分享到:
评论

相关推荐

    Screenshot_20241125_214643.jpg

    Screenshot_20241125_214643.jpg

    python用opencv读取图片并转为灰度图

    使用cv2.imread()函数读取图片文件。然后使用cv2.cvtColor()函数将图片从BGR颜色空间转换为灰度图(GRAY)。最后,使用cv2.imshow()函数显示原始图片和灰度图,并使用cv2.waitKey(0)等待用户按键,之后使用cv2.destroyAllWindows()关闭所有窗口。

    【创新未发表】基于粒子群优化算法PSO-Kmean-Transformer-LSTM实现负荷预测附Matlab代码.rar

    1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。 替换数据可以直接使用,注释清楚,适合新手

    基于C++ SFML图形库实现的的贪吃蛇小游戏课程设计

    【作品名称】:基于C++ SFML图形库实现的的贪吃蛇小游戏【课程设计】 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【项目介绍】: 编译环境的说明 Windows 11 专业版 GCC 11.2.0 MinGW-w64 9.0.0 (linked with msvcrt) GNU Make 4.3 SFML 2.5.1 全部 static 编译 特点 相比原版和大部分走直线的贪吃蛇,界面直白简单,动画丝滑流畅,操作易上手 操作 点击或长按任意位置,变化蛇的方向 按w/a/s/d或者上/下/左/右键转向 蛇到边界的时候会从对称一边出来 按住空格可以加速 【资源声明】:本资源作为“参考资料”而不是“定制需求”,代码只能作为参考,不能完全复制照搬。需要有一定的基础看懂代码,自行调试代码并解决报错,能自行添加功能修改代码。

    基于 java gui编程实现的贪吃蛇小游戏.zip

    基于 java gui编程实现的贪吃蛇小游戏.zip

    系统集成项目管理-重点考点思维导图.zip

    系统集成项目管理-重点考点思维导图.zip-感谢马军老师分享,希望您桃李满天下

    (2022-2005年)183个国家经济制度距离-各国经济环境差异-完整数据

    ## 数据指标说明 全球各国经济制度距离数据,旨在衡量国家在经济制度方面的相似性或差异性。该数据覆盖183个国家,包括两种主要的测算结果。各国经济制度距离数据可为研究者提供了一个框架,帮助大家更好地了解国家之间的经济环境差异。 数据名称:全球183个国家世界各国经济制度距离-各国经济环境差异 数据年份:2005-2022年 数据格式:Excel 计算方法: 经济制度距离1:经济制度距离(edis),简称经济距离。经济距离指标数据来自美国传统基金会(Heritage Foundation)发布的世界经济自由度指数报告,包括财产权、政府诚信、税收负担等10个方面。 经济制度距离2:在获得各国制度指标后,本文根据Kogut和Singh (1988)提出的制度距离测算方法,构建政治制度距离(PD)、经济制度距离(ED)和文化距离(CD)。 指标主要包括:国家、年份、经济距离(根据美国传统基金会世界经济自由度指数整理)、经济距离(参考(Kogut&Singh,1988)构建经济制度距离) 数据来源:美国传统基金会(Heritage Foundation)发布的世界经济自由度指数报告。制度距离是指两个国家在制度的规则、规范和认知三个方面的差异。随着制度理论的发展,组织的社会嵌入性特征受到了广泛的关注。

    yolo算法-道路旁边树木检测测试数据集-6898张图像带标签-.zip

    yolo系列算法目标检测数据集,包含标签,可以直接训练模型和验证测试,数据集已经划分好,包含数据集配置文件data.yaml,适用yolov5,yolov8,yolov9,yolov7,yolov10,yolo11算法; 包含两种标签格:yolo格式(txt文件)和voc格式(xml文件),分别保存在两个文件夹中; yolo格式:<class> <x_center> <y_center> <width> <height>, 其中: <class> 是目标的类别索引(从0开始)。 <x_center> 和 <y_center> 是目标框中心点的x和y坐标,这些坐标是相对于图像宽度和高度的比例值,范围在0到1之间。 <width> 和 <height> 是目标框的宽度和高度,也是相对于图像宽度和高度的比例值

    完整数据-20多份数字经济学术资源大合集

    数据指标说明 一、中国新经济指数(2017-2022) 二、中国数字经济发展白皮书2017-2021年 三、北京大学中国商业银行数字化转型指数(2010-2021年) 四-1 全国31省数字经济测算2013-2020 四-2 全国31省数字经济发展测算指标 五、 中国城市数字经济指数(2017-2021) 六、中国城市数字经济成分(2011-2019) 七、《2018-2020县域数字乡村指数》

    bug.PNG.png

    免费资源

    【创新未发表】基于矮猫鼬优化算法DMOA-Kmean-Transformer-BiLSTM实现负荷预测附Matlab代码.rar

    1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。 替换数据可以直接使用,注释清楚,适合新手

    《子路等四人侍坐》教学设计与解析.pptx

    《子路等四人侍坐》教学设计与解析.pptx

    LaravelAdmin,简洁、直观、强悍的前端后端开发框架,让全栈开发更迅速的SPA单页面应用.LaravelAdmin,LaravelAdmin官网.zip

    LaravelAdmin,简洁、直观、强悍的前端后端开发框架,让全栈开发更迅速的SPA单页面应用.LaravelAdmin,LaravelAdmin官网.zip

    基于C++实现的Hough Forests算法用于人体动作识别检测(提供了可视化功能).zip

    基于C++实现的Hough Forests算法用于人体动作识别检测 用C++实现的Hough Forests算法[1]的代码,用于动作检测。Hough Forests是一种用于目标检测、跟踪和动作识别的算法。 主要功能点 实现了Hough Forests算法,可用于动作检测 提供了可视化功能,用于显示检测结果 技术栈 C++

    WinDDK 配置过的驱动模板

    WinDDK 配置过的驱动模板

    漆器艺术:2023年我国漆器市场规模251.6亿元,古老技艺焕发新生

    漆器艺术:2023年我国漆器市场规模251.6亿元,古老技艺焕发新生 在浩瀚的历史长河中,漆器以其独特的魅力和精湛的工艺,成为了中华民族传统文化的重要组成部分。从战国秦汉的辉煌,到明清时期的巅峰,漆器不仅见证了历史的变迁,更承载了无数匠人的智慧与心血。然而,在现代社会快速发展的背景下,漆器工艺面临着前所未有的挑战。如何在传承中创新,让这一古老技艺焕发新生,成为行业内外共同关注的焦点。本文将深入探讨漆器市场的现状、趋势与机遇,揭示专业咨询在推动漆器行业健康发展中的关键作用。 市场概况 漆器,作为中国传统手工艺品的瑰宝,其市场规模近年来呈现出平稳增长的态势。据统计,2023年我国漆器整体产量约为0.96亿件,同比增长稳定,市场规模更是达到了约251.6亿元。这一增长,不仅得益于政策的扶持和市场的认可,更离不开匠人们对传统技艺的坚守与创新。生漆,作为漆器生产的主要原材料,其产量和质量直接影响着漆器行业的生产成本和产品质量。2023年,我国生漆整体产量约为1.97万吨,同比增长1.01%,为漆器行业的持续发展提供了坚实的保障。 技术创新与趋势 在传承与创新中,漆器工艺不断焕发新生。现代漆器在保

    山东大学 软件学院 软件工程 最优化 往年题汇总

    18-22,23是回忆版

    【创新未发表】基于灰狼优化算法GWO-Kmean-Transformer-BiLSTM实现负荷预测附Matlab代码.rar

    1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。 替换数据可以直接使用,注释清楚,适合新手

    基于SpringBoot + Vue的失物招领平台设计与实现-论文.doc

    1.1研究背景 随着社会和经济的不断发展,人们的生活节奏也在加快。此外,我们的生活中越来越多的物品是小型化的,我们偶尔会忽视和遗忘这些物品。在体积,大伞,书包,手提箱,书籍,小银行卡,钥匙,身份证,眼镜,钱包等。雨伞可以买到,银行卡可以丢失和重新安排,钥匙可以重新匹配;书丢了可以买新的,但是以前的笔记不能买,身份证不能再补半天,尤其是当人们在外地时更麻烦。 在我们的生活中,我们会偶然捡到丢失的物品,拿起工作卡,学生证,和单位信息可以很方便的联系;但身份证上的信息过于昂贵,无法联系;如果是一把雨伞,一本书,甚至是一个连在一起的人,钥匙就不知道应该归还。谁或谁被给予,而业主仍然急于担心房子;银行卡只能交给开证行,但事实上,银行卡的时候,银行卡丢失的人很难找到丢失银行卡的机会。没有一个网络渠道,每个人都知道如何发布或索赔丢失的财产。当主人丢了他的东西时,他将很难找到。 1.2开发现状

    rust官方沙发的收费的

    rust官方沙发的收费的

Global site tag (gtag.js) - Google Analytics