VBScript-to-javascript Functions (转)
UseParensForNegativeNumbers, GroupDigits)
======================================================================
function FormatNumber(num,decimalNum,bolLeadingZero,bolParens,bolCommas)
/**********************************************************************
IN:
NUM - the number to format
decimalNum - the number of decimal places to format the number to
bolLeadingZero - true / false - display a leading zero for
numbers between -1 and 1
bolParens - true / false - use parenthesis around negative numbers
bolCommas - put commas as number separators.
RETVAL:
The formatted number!
**********************************************************************/
{
if (isNaN(parseInt(num))) return "NaN";
var tmpNum = num;
var iSign = num < 0 ? -1 : 1; // Get sign of number
// Adjust number so only the specified number of numbers after
// the decimal point are shown.
tmpNum *= Math.pow(10,decimalNum);
tmpNum = Math.round(Math.abs(tmpNum))
tmpNum /= Math.pow(10,decimalNum);
tmpNum *= iSign; // Readjust for sign
// Create a string object to do our formatting on
var tmpNumStr = new String(tmpNum);
// See if we need to strip out the leading zero or not.
if (!bolLeadingZero && num < 1 && num > -1 && num != 0)
if (num > 0)
tmpNumStr = tmpNumStr.substring(1,tmpNumStr.length);
else
tmpNumStr = "-" + tmpNumStr.substring(2,tmpNumStr.length);
// See if we need to put in the commas
if (bolCommas && (num >= 1000 || num <= -1000)) {
var iStart = tmpNumStr.indexOf(".");
if (iStart < 0)
iStart = tmpNumStr.length;
iStart -= 3;
while (iStart >= 1) {
tmpNumStr = tmpNumStr.substring(0,iStart) + "," + tmpNumStr.substring(iStart,tmpNumStr.length)
iStart -= 3;
}
}
// See if we need to use parenthesis
if (bolParens && num < 0)
tmpNumStr = "(" + tmpNumStr.substring(1,tmpNumStr.length) + ")";
return tmpNumStr; // Return our formatted string!
}
FormatPercent(Expression, NumDigitsAfterDecimal, IncludeLeadingDigit,
UseParensForNegativeNumbers, GroupDigits)
- Returns an expression formatted as a percentage (multiplied by 100)
with a trailing % character.
(NOTE!! This function MUST have FormatNumber
also provided.)
========================================================================
function FormatPercent(num,decimalNum,bolLeadingZero,bolParens,bolCommas)
/**********************************************************************
IN:
NUM - the number to format
decimalNum - the number of decimal places to format the number to
bolLeadingZero - true / false - display a leading zero for
numbers between -1 and 1
bolParens - true / false - use parenthesis around negative numbers
bolCommas - put commas as number separators.
RETVAL:
The formatted number!
**********************************************************************/
{
var tmpStr = new String(FormatNumber(num*100,decimalNum,bolLeadingZero,bolParens,bolCommas));
if (tmpStr.indexOf(")") != -1) {
// We know we have a negative number, so place @#%@# inside of @#)@#
tmpStr = tmpStr.substring(0,tmpStr.length - 1) + "%)";
return tmpStr;
}
else
return tmpStr + "%"; // Return formatted string!
}
FormatCurrency(Expression, NumDigitsAfterDecimal, IncludeLeadingDigit,
UseParensForNegativeNumbers, GroupDigits)
(NOTE!! This function MUST have FormatNumber
also provided.)
========================================================================
function FormatCurrency(num,decimalNum,bolLeadingZero,bolParens,bolCommas)
/**********************************************************************
IN:
NUM - the number to format
decimalNum - the number of decimal places to format the number to
bolLeadingZero - true / false - display a leading zero for
numbers between -1 and 1
bolParens - true / false - use parenthesis around negative numbers
bolCommas - put commas as number separators.
RETVAL:
The formatted number!
**********************************************************************/
{
var tmpStr = new String(FormatNumber(num,decimalNum,bolLeadingZero,bolParens,bolCommas));
if (tmpStr.indexOf("(") != -1 || tmpStr.indexOf("-") != -1) {
// We know we have a negative number, so place @#$@# inside of @#(@# / after @#-@#
if (tmpStr.charAt(0) == "(")
tmpStr = "($" + tmpStr.substring(1,tmpStr.length);
else if (tmpStr.charAt(0) == "-")
tmpStr = "-$" + tmpStr.substring(1,tmpStr.length);
return tmpStr;
}
else
return "$" + tmpStr; // Return formatted string!
}
FormatDateTime(datetime, FormatType) : Returns an expression formatted
as a date or time
========================================================================
function FormatDateTime(datetime, FormatType)
/*
FomatType takes the following values
1 - General Date = Friday, October 30, 1998
2 - Typical Date = 10/30/98
3 - Standard Time = 6:31 PM
4 - Military Time = 18:31
*/
{
var strDate = new String(datetime);
if (strDate.toUpperCase() == "NOW") {
var myDate = new Date();
strDate = String(myDate);
} else {
var myDate = new Date(datetime);
strDate = String(myDate);
}
// Get the date variable parts
var Day = new String(strDate.substring(0,3));
if (Day == "Sun") Day = "Sunday";
if (Day == "Mon") Day = "Monday";
if (Day == "Tue") Day = "Tuesday";
if (Day == "Wed") Day = "Wednesday";
if (Day == "Thu") Day = "Thursday";
if (Day == "Fri") Day = "Friday";
if (Day == "Sat") Day = "Saturday";
var Month = new String(strDate.substring(4,7)), MonthNumber = 0;
if (Month == "Jan") { Month = "January"; MonthNumber = 1; }
if (Month == "Feb") { Month = "February"; MonthNumber = 2; }
if (Month == "Mar") { Month = "March"; MonthNumber = 3; }
if (Month == "Apr") { Month = "April"; MonthNumber = 4; }
if (Month == "May") { Month = "May"; MonthNumber = 5; }
if (Month == "Jun") { Month = "June"; MonthNumber = 6; }
if (Month == "Jul") { Month = "July"; MonthNumber = 7; }
if (Month == "Aug") { Month = "August"; MonthNumber = 8; }
if (Month == "Sep") { Month = "September"; MonthNumber = 9; }
if (Month == "Oct") { Month = "October"; MonthNumber = 10; }
if (Month == "Nov") { Month = "November"; MonthNumber = 11; }
if (Month == "Dec") { Month = "December"; MonthNumber = 12; }
var curPos = 11;
var MonthDay = new String(strDate.substring(8,10));
if (MonthDay.charAt(1) == " ") {
MonthDay = "0" + MonthDay.charAt(0);
curPos--;
}
var MilitaryTime = new String(strDate.substring(curPos,curPos + 5));
var Year = new String(strDate.substring(strDate.length - 4, strDate.length));
document.write(strDate + "");
// Format Type decision time!
if (FormatType == 1)
strDate = Day + ", " + Month + " " + MonthDay + ", " + Year;
else if (FormatType == 2)
strDate = MonthNumber + "/" + MonthDay + "/" + Year.substring(2,4);
else if (FormatType == 3) {
var AMPM = MilitaryTime.substring(0,2) >= 12 && MilitaryTime.substring(0,2) != "24" ? " PM" : " AM";
if (MilitaryTime.substring(0,2) > 12)
strDate = (MilitaryTime.substring(0,2) - 12) + ":" + MilitaryTime.substring(3,MilitaryTime.length) + AMPM;
else {
if (MilitaryTime.substring(0,2) < 10)
strDate = MilitaryTime.substring(1,MilitaryTime.length) + AMPM;
else
strDate = MilitaryTime + AMPM;
}
}
else if (FormatType == 4)
strDate = MilitaryTime;
return strDate;
}
LTrim(string) : Returns a copy of a string without leading spaces.
==================================================================
function LTrim(str)
/***
PURPOSE: Remove leading blanks from our string.
IN: str - the string we want to LTrim
RETVAL: An LTrimmed string!
***/
{
var whitespace = new String(" \t\n\r");
var s = new String(str);
if (whitespace.indexOf(s.charAt(0)) != -1) {
// We have a string with leading blank(s)...
var j=0, i = s.length;
// Iterate from the far left of string until we
// don@#t have any more whitespace...
while (j < i && whitespace.indexOf(s.charAt(j)) != -1)
j++;
// Get the substring from the first non-whitespace
// character to the end of the string...
s = s.substring(j, i);
}
return s;
}
RTrim(string) : Returns a copy of a string without trailing spaces.
==================================================================
function RTrim(str)
/***
PURPOSE: Remove trailing blanks from our string.
IN: str - the string we want to RTrim
RETVAL: An RTrimmed string!
***/
{
// We don@#t want to trip JUST spaces, but also tabs,
// line feeds, etc. Add anything else you want to
// "trim" here in Whitespace
var whitespace = new String(" \t\n\r");
var s = new String(str);
if (whitespace.indexOf(s.charAt(s.length-1)) != -1) {
// We have a string with trailing blank(s)...
var i = s.length - 1; // Get length of string
// Iterate from the far right of string until we
// don@#t have any more whitespace...
while (i >= 0 && whitespace.indexOf(s.charAt(i)) != -1)
i--;
// Get the substring from the front of the string to
// where the last non-whitespace character is...
s = s.substring(0, i+1);
}
return s;
}
Trim(string) : Returns a copy of a string without leading or
trailing spaces
=============================================================
function Trim(str)
/***
PURPOSE: Remove trailing and leading blanks from our string.
IN: str - the string we want to Trim
RETVAL: A Trimmed string!
***/
{
return RTrim(LTrim(str));
}
Len(String) : Returns the number of characters in a string
===========================================================
function Len(str)
/***
IN: str - the string whose length we are interested in
RETVAL: The number of characters in the string
***/
{ return String(str).length; }
Left(string, length): Returns a specified number of characters from the
left side of a string
========================================================================
function Left(str, n)
/***
IN: str - the string we are LEFTing
n - the number of characters we want to return
RETVAL: n characters from the left side of the string
***/
{
if (n <= 0) // Invalid bound, return blank string
return "";
else if (n > String(str).length) // Invalid bound, return
return str; // entire string
else // Valid bound, return appropriate substring
return String(str).substring(0,n);
}
Right(string, length): Returns a specified number of characters from the
right side of a string
========================================================================
function Right(str, n)
/***
IN: str - the string we are RIGHTing
n - the number of characters we want to return
RETVAL: n characters from the right side of the string
***/
{
if (n <= 0) // Invalid bound, return blank string
return "";
else if (n > String(str).length) // Invalid bound, return
return str; // entire string
else { // Valid bound, return appropriate substring
var iLen = String(str).length;
return String(str).substring(iLen, iLen - n);
}
}
Mid(string, start, length): Returns a specified number of characters from a
string
============================================================================
function Mid(str, start, len)
/***
IN: str - the string we are LEFTing
start - our string@#s starting position (0 based!!)
len - how many characters from start we want to get
RETVAL: The substring from start to start+len
***/
{
// Make sure start and len are within proper bounds
if (start < 0 || len < 0) return "";
var iEnd, iLen = String(str).length;
if (start + len > iLen)
iEnd = iLen;
else
iEnd = start + len;
return String(str).substring(start,iEnd);
}
// Keep in mind that strings in JavaScript are zero-based, so if you ask
// for Mid("Hello",1,1), you will get "e", not "H". To get "H", you would
// simply type in Mid("Hello",0,1)
// You can alter the above function so that the string is one-based. Just
// check to make sure start is not <= 0, alter the iEnd = start + len to
// iEnd = (start - 1) + len, and in your final return statement, just
// return ...substring(start-1,iEnd)
InStr(str, SearchForStr) : Returns the location a character (charSearchFor)
was found in the string str
========================================================================
// InStr function written by: Steve Bamelis - steve.bamelis@pandora.be
function InStr(strSearch, charSearchFor)
/*
InStr(strSearch, charSearchFor) : Returns the first location a substring (SearchForStr)
was found in the string str. (If the character is not
found, -1 is returned.)
Requires use of:
Mid function
Len function
*/
{
for (i=0; i < Len(strSearch); i++)
{
if (charSearchFor == Mid(strSearch, i, 1))
{
return i;
}
}
return -1;
}
下一篇:右键弹出自定义菜单,很有意思呀! >>
相关文章:
- · JS的表格控制例子.
- · 一个显示计算机时间的钟表的程序代码
- · 客户端JS表格排序---摘自微软.
- · 函数整理(变量和转换函数)
- · 函数整理(条件函数)
- · 函数整理(输入函数)
- · 函数整理(数学函数)
- · 函数整理(字符串函数)
- · 函数整理(日期和时间函数)
- · 动态伸缩ie窗口(酷)(天乐原创)
- · 利 用 ASP 在 客 户 端 注 册 DLL 文 件!
- · 我有2个类似的js,不知道有用否 1
- · 我搜集过一段类似的js,不知道有用否
- · form文本域的通用校验函数
- · 函数控制最小化窗口
- · 用DHTML来模拟实现下拉菜单
- · javascript动态增加、删除、填充表格内容。
- · 最完美的JS万年历(一)
- · 最完美的JS万年历(二)
- · 最完美的JS万年历(三)
- · 用JS定制IE工具栏按钮
- · 看看我写的.和这里样式差不多.不过一样好用哟.滑动时还有音乐.用的qq的音乐
- · 妙用VBScript自制IE工具栏按钮(转)
- · js有几个缺陷。combox1.doSelectIdx(-1)我看不用调用了。
- · 层不能跨框架(包括TEXTAREA)显示的解决办法
- · 罗亭的可输入下拉框的解密简化版.
- · IE里的探索之浏览器概览
- · IE里的探索之向标准上下文相关菜单里添加条目
- · IE里的探索之添加浏览器栏
- · IE里的探索之添加工具条按钮(2)
- · IE里的探索之添加工具条按钮(1)
- · IE里的探索之创建具有良好行为的自定义元素
- · IE里的探索之定制浏览器好助手(上1)
- · IE里的探索之定制浏览器好助手(上2)
- · IE里的探索之定制浏览器好助手(中1)
- · IE里的探索之定制浏览器好助手(下)
- · IE里的探索(想定制自己的IE的可以看一看)
- · 这个object还有其他几种用法.现在贴了给大家.
