//js常用函数 更新2008-8-16 取自网络
function $(id) {
return document.getElementById(id);
}
/**************
Function: getElementsByClassName
Usage:
Get the hyperlink class in the document that is "info-links".
getElementsByClassName(document, "a", "info-links");
Get the class of p in the container which is col.
getElementsByClassName(document.getElementById("container"), "p", "col");
Get all classes in the document that are "click-me".
getElementsByClassName(document, "*", "click-me");
Returns an array
*******************/
function getElementsByClassName(oElm, strTagName, strClassName){
var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/-/g, "-");
var oRegExp = new RegExp("(^|s)" strClassName "(s|$)");
var oElement;
for(var i=0; i
if(oRegExp.test(oElement.className))
arrReturnElements.push(oElement);
}
return (arrReturnElements)
}
/**************
replaceAll:
Replace characters in a string.
Usage:
yourstring.replaceAll("Character to be replaced", "Replace with what");
Example:
"cssrain".replaceAll("s", "a");
" cs sr ai n".replaceAll(" ", "");
*****************/
String.prototype.replaceAll = function (AFindText,ARepText){
raRegExp = new RegExp(AFindText,"g");
return this.replace(raRegExp,ARepText);
}
/**************
* Processing of spaces before and after strings.
* If you want to replace the spaces in the middle, please use the replaceAll method.
* Usage:
* " cssrain ".trim();
*****************/
String.prototype.trim=function()
{
return this.replace(/(^s*)|(s*$)/g,"");//将字符串前后空格,用空字符串替代。
}
/**************
* Calculate the real length of the string
//String has an attribute length, but it cannot distinguish between English characters.
//Calculate Chinese characters and full-width characters character. However, when storing data, Chinese characters and full-width characters are stored in two bytes.
//All require additional processing. I wrote a function myself to return the true length of String.
Usage:
*******************/
String.prototype.codeLength=function(){
var len=0;
if(this==null||this.length==0)
return 0;
var str=this.replace(/(^s*)|(s*$)/g,"");//去掉空格
for(i=0;i
len ;
else
len =2;
return len;
}
//JS获取字符串的实际长度,用来代替 String的length属性
String.prototype.length = function(){
return this.replace(/[u4e00-u9fa5] /g,"**").length;
}
/**************
//Filter HTML
//In order to prevent users from submitting malicious scripts when commenting, you can first filter HTML tags and filter out double quotes and single quotes. Quotation marks, symbol &, symbol <, symbol
Usage:
*******************/
String.prototype.filterHtml=function(){
return this.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'");
}
/**************
format:
Formatting time.
Usage:
yourdate.format("your date format");
Example:
obj0 = new Date("Sun May 04 2008").format("yyyy-MM-dd" );
obj1 = new Date().format("yyyy-MM-dd hh:mm:ss");
obj2 = new Date().format("yyyy-MM-dd");
obj3 = new Date().format("yyyy/MM/dd");
obj4 = new Date().format("MM/dd/yyyy");
****** ********/
Date.prototype.format = function(format)
{
var o = {
"M " : this.getMonth() 1, //month
"d " : this.getDate(), //day
"h " : this.getHours(), //hour
"m " : this.getMinutes(), //minute
"s " : this.getSeconds(), //second
"q " : Math.floor((this.getMonth() 3)/3), //quarter
"S" : this.getMilliseconds() //millisecond
}
if(/(y )/.test(format)) format=format.replace(RegExp.$1,
(this.getFullYear() "").substr(4 - RegExp.$1.length));
for(var k in o)if(new RegExp("(" k ")").test(format))
format = format.replace(RegExp.$1,
RegExp.$1.length==1 ? o[k] :
("00" o[k]).substr(("" o[k]).length));
return format;
}
/**************
형식:
형식 번호.
예:
var n = format_number( 123456.45656 , 2 ) // .toFixed(2) 또한 It 구현할 수 있지만 FF와 호환되지 않습니다.
alert(n)
*****************/
함수 format_number(str,digit)
{
if(isNaN(str))
{
alert("您传入的值不是数字! ");
0을 반환합니다.
}
else if(Math.round(digit)!=digit)
{
alert("您输入的小数位数不是整数!");
0을 반환합니다.
}
else
return Math.round(parseFloat(str)*Math.pow(10,digit))/Math.pow(10,digit);
}
/**********양식 작업*********/
/**************
* 라디오 버튼의 선택된 값을 가져옵니다.
* 사용법:
*
*
*
*
*********************/
function getRadioValue(radioName){
var obj=document.getElementsByName (라디오이름);
for(var i=0;i
return obj[i].value;
}
}
}
/**************
* 체크박스 모두 선택/선택 취소/반전
* 사용법:
************ **/
function checkAll(form, sel) {
for (i = 0, n = form. elements.length; i < n; i ) {
if(form.elements[i].type == "checkbox") {
if(form.elements[i].checked == true)
form.elements[i].checked = (sel == "all" ? true : false);
} else {
form.elements[i].checked = (sel == "none" ? false : true);
}
}
}
}
/**************
* 체크박스가 선택되어 있는지 확인하세요.
* 아무것도 선택하지 않으면 false가 반환됩니다.
* 사용법:
*******************/
function SCheckBox(_formName,_checkboxName){
var selflag = {'checked':0,'cvalues':[]};
_scheckbox = eval('document.' _formName '.' _checkboxName);
if(_scheckbox){
if(eval(_scheckbox.length)){
for(i=0;i<_scheckbox.length;i ){
if(_scheckbox[i].checked ){
selflag.checked ;
selflag.cvalues.push(_scheckbox[i].value);
}
};
}else if(_scheckbox.checked){
selflag.checked ;
selflag.cvalues.push(_scheckbox.value);
}
if(selflag.checked){
return selflag;
}
}
false를 반환합니다.
}
//如果控件值=原来值则清空
functionclearInput(input){
if(input.value == input.defaultValue){
input.value = "";
}
}
/*****************양식 작업이 종료됩니다*************/
/**************/
//收藏到书签.(兼容IE와 FF)。
function addBookmark(title,url) {
if (window.sidebar) {
window.sidebar.addPanel(title, url,"");
} else if( document.all ) {
window.external.AddFavorite( url, title);
} else if( window.opera && window.print ) {
return true;
}
}
/************
기능: 텍스트 상자가 포커스 작업을 가져오거나 잃습니다.
텍스트 상자에서 검색할 때 이 방법이 자주 나타납니다.
텍스트에 "검색"이 표시된 후 사용자가 해당 텍스트를 마우스로 클릭하면
텍스트 상자의 내용이 지워집니다. 사용자가 내용을 입력하지 않으면 텍스트 값이 복원됩니다.
입력하면 사용자가 입력한 것으로 표시됩니다.
사용법:
*********************
函数 : 文本框得到与失去焦点 操작품.
这个方法经常常常常文本框搜索的时候出现。
文本里显示 “ 搜索 ”,然后当用户鼠标点击此文本,
文本框内填写,内容,那么文本的值又复原。
如果填写了,就显示用户填写的。
사용법:
************
기능: 마우스 클릭이 왼쪽인지 오른쪽인지 확인하는 데 사용됩니다. (IE 및 ff와 호환)
사용법:
onmousedown="mouse_keycode(event)"
*******************/
function clearTxt(id,txt) {
if (document.getElementById(id).value == txt)
document.getElementById(id).value="" ;
반환 ;
}
function fillTxt(id,txt) {
if ( document.getElementById(id).value == "" )
document.getElementById(id).value=txt;
반환 ;
}
/************
기능: 개체의 onclick 이벤트를 트리거합니다. (IE 및 FF와 호환)
사용법:
***********************
函数 : 用来判断鼠标按的是左键还是右键。(兼容IE와ff)
사용법:
onmousedown="mouse_keycode(event)"
<🎝>***/
function mouse_keycode(event){
var event=event||window.event;
var nav=window.navigator.userAgent;
if (nav.indexOf("MSIE")>=1) //如果浏览器为IE.解释:因为 document.all 是 IE 的特有属性,所以通常用这个方法来判断客户端是否是IE浏览器,document.all?1:0;
{
if(event.button==1){alert("左键")}
else if(event.button==2){alert("右键")}
}
else if(nav.indexOf("Firefox")>=1) ////如果浏览器为Firefox
{
if(event.button==0){alert("左键");}
else if(event.button==2){alert("右键");}
}
else{ //如果浏览器为其他
alert("other" );
}
}
/***
函数 :触发某个对象的onclick事件。(兼容IE와FF)
사용법: ***/ function handerToClick(objid){ var obj=document.getElementById(objid); if(document.all){ obj.fireEvent("onclick"); }else{ var e=document.createEvent('MouseEvent'); e.initEvent('클릭',false,false); obj.dispatchEvent(e); } } /*** 实现按回车提交 ******************/
function QuickPost(evt,form){
var evt = window.event?window.event:evt;
if(evt.keyCode == 13){
document.getElementById(form).submit();
}
}
/***********
Verify if it is a number
**********/
function checkIsInteger( str)
{
//If it is empty, the check is passed
if(str == "")
return true;
if(/^(-?)(d ) $/.test(str))
return true;
else
return false;
}