📄 string.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 + -