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");
}
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值