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

📄 string.bf

📁 在Web的脚本上专门处理一些通用的 JavaScript对象
💻 BF
字号:
// Description:	js.lang.String
// Author:	HuangYiGang
// Version:	2005.11.03.01

String.prototype.trim = function (as_reg)
{
	return this.Ltrim(as_reg).Rtrim(as_reg);
	//return this.replace(/(^\s*)|(\s*$)/g,"");
}
String.prototype.Ltrim = function (as_reg)
{
	if ( as_reg == null ) as_reg = "\\s";
	var re = new RegExp("^(" + as_reg + ")*","g");
	return this.replace(re,"");
}
String.prototype.Rtrim = function (as_reg)
{
	if ( as_reg == null ) as_reg = "\\s";
	var re = new RegExp("(" + as_reg + ")*$","g");
	return this.replace(re,"");
}
String.prototype.substring_before = function (as_boxoff, ai_num)
{
	if(as_boxoff == null || as_boxoff == "") as_boxoff = " ";
	if(ai_num == null) ai_num = 1;
	
	var fi_index = this.Find(as_boxoff, ai_num);
	if(fi_index == -1) return this;
	return this.substring(0,fi_index);
}
String.prototype.substring_after = function (as_boxoff, ai_num)
{
	if(as_boxoff == null || as_boxoff == "") as_boxoff = " ";
	if(ai_num == null) ai_num = 1;
	ai_num = 0 - ai_num;
	
	var fi_index = this.Find(as_boxoff, ai_num);
	if(fi_index == -1) return this;
	return this.substring(fi_index + 1);
}
String.prototype.ascLength = function ()
{
	var l = 0;
	var s = this.toString();
	for (var i = 0; i < s.length; i++) {
		if (s.charCodeAt(i) > 255)
			l += 2;
		else
			l++;
	}
	return l;
}
String.prototype.Find = function(as_sub, ai_num)
{
	var direction = true;
	if ( as_sub == null || as_sub == "" ) as_sub = " ";
	if ( ai_num == null ) ai_num = 1;
	if ( ai_num < 0 )
	{
		direction = false;
		ai_num = 0 - ai_num;
	}
	var fi_index;
	for ( var i=0; i<ai_num; i++ )
	{
		if ( fi_index != null )
		{
			if ( direction ) fi_index++;
			else fi_index--;
		}
		if ( direction )
			fi_index = this.indexOf(as_sub, fi_index);
		else
			fi_index = this.lastIndexOf(as_sub, fi_index);
		if ( fi_index == -1 ) break;
	}
	return fi_index;
}
String.prototype.checkstr = function (as_type)
{
	var fs_regexp;
	if ( this.trim() == "" ) return true;
	if (as_type == null) as_type = "INT";
	switch (as_type.toUpperCase())
	{
		case "D":
			fs_regexp = this.match(/^(\d{4}|\d{2})[-\/](\d{1,2})[-\/](\d{1,2})$/);
			if (fs_regexp == null) return false;
			return CheckYMD(fs_regexp);
		case "DT":
			fs_regexp = this.match(/^(\d{4}|\d{2})[-\/](\d{1,2})[-\/](\d{1,2}) (?:[01]?\d|2[0-3])(?::[0-5]?\d){2}$/);
			if (fs_regexp == null) return false;
			return CheckYMD(fs_regexp);
		case "T":
			fs_regexp = this.match(/^(?:[01]?\d|2[0-3])(?::[0-5]?\d){2}$/);
			if (fs_regexp == null) return false;
			return true;
		case "INT":
			fs_regexp = this.match(/^(?:[1-9]\d*|0)$/);
			if (fs_regexp == null) return false;
			return true;
		case "DEC":
			if (this.checkstr("INT")) return true;
			fs_regexp = this.match(/^(?:[1-9]\d*|0)\.\d+$/);
			if (fs_regexp == null) return false;
			return true;
		case "CHINA":
			var s = escape(this.toString());
			return ( s.indexOf("%u") != -1 );
		default:
			return true;
	}
	function CheckYMD(aa_regexp)
	{
		var fs_year = aa_regexp[1];
		var fs_mon = parseInt(aa_regexp[2]);
		var fs_day = parseInt(aa_regexp[3]);
		if (fs_year.length == 2 ) fs_year = "20" + fs_year;
		fs_year = parseInt(fs_year);
		if (!(fs_year>=1900 && fs_year < 3000 && 1<=fs_mon && 12>=fs_mon && 31>=fs_day && 1<=fs_day) ) return false;
		if (( fs_mon==4 || fs_mon==6 || fs_mon==9 || fs_mon==11 ) && (fs_day>30)) return false;
		if ((fs_year % 4 == 0) && (fs_mon==2) && (fs_day > 29)) return false;
		if (!(fs_year % 4 == 0) && (fs_mon==2) && (fs_day > 28)) return false;
		return true;
	}
}

⌨️ 快捷键说明

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