js常用函数2008-8-16整理第1/2页_Javascript教程-查字典教程网
js常用函数2008-8-16整理第1/2页
js常用函数2008-8-16整理第1/2页
发布时间:2016-12-30 来源:查字典编辑
摘要://js常用函数更新2008-8-16取自网络function$(id){returndocument.getElementById(id)...

//js常用函数 更新2008-8-16 取自网络

function $(id) {

return document.getElementById(id);

}

/**************

函数:getElementsByClassName

使用方法:

获取document内的超链接class是“info-links”的。

getElementsByClassName(document, "a", "info-links");

获取container内的div的class是col的.

getElementsByClassName(document.getElementById("container"), "div", "col");

获取document内的所有class是“click-me”的。

getElementsByClassName(document, "*", "click-me");

返回一个数组

**************/

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<arrElements.length; i++){

oElement = arrElements[i];

if(oRegExp.test(oElement.className))

arrReturnElements.push(oElement);

}

return (arrReturnElements)

}

/**************

replaceAll:

替换字符串中的字符。

用法:

yourstring.replaceAll("要替换的字符", "替换成什么");

例子:

"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);

}

/**************

* 字符串前后空格处理。

* 如果想替换中间的空格,请用replaceAll方法。

* 用法:

* " cssrain ".trim();

**************/

String.prototype.trim=function()

{

return this.replace(/(^s*)|(s*$)/g,"");//将字符串前后空格,用空字符串替代。

}

/**************

* 计算字符串的真正长度

//String有个属性length,但是它不能区分英文字符,

//计算中文字符和全角字符。但是在数据存储的时候中文和全角都是用两个字节来存储的,

//所有需要额外处理一下。自己写了个函数,返回String正真的长度.

用法:

<input type="text" name="rain" id="rain" />

<input type="button" id="test" value="test"/>

**************/

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<str.length;i++)

if(str.charCodeAt(i)>0&&str.charCodeAt(i)<128)

len++;

else

len+=2;

return len;

}

//JS获取字符串的实际长度,用来代替 String的length属性

String.prototype.length = function(){

return this.replace(/[u4e00-u9fa5]+/g,"**").length;

}

/**************

//过滤HTML

//在评论的时候为了防止用户提交带有恶意的脚本,可以先过滤HTML标签,过滤掉双引号,单引号,符号&,符号<,符号

用法:

<input type="text" name="rain" id="rain" />

<input type="button" id="test" value="test"/>

**************/

String.prototype.filterHtml=function(){

return this.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,"").replace(/'/g,"");

}

/**************

format:

格式化时间。

用法:

yourdate.format("你的日期格式");

例子:

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;

}

/**************

format:

格式化数字.

例子:

var n = format_number( 123456.45656 , 2 ); // .toFixed(2)也可以实现,不过不兼容FF.

alert(n);

**************/

function format_number(str,digit)

{

if(isNaN(str))

{

alert("您传入的值不是数字!");

return 0;

}

else if(Math.round(digit)!=digit)

{

alert("您输入的小数位数不是整数!");

return 0;

}

else

return Math.round(parseFloat(str)*Math.pow(10,digit))/Math.pow(10,digit);

}

/**********表单操作*********/

/**************

* 得到单选框选中的值。

* 用法:

*<input type="radio" value="1" name="cssrain"/>

*<input type="radio" value="2" name="cssrain" checked/>

*<input type="radio" value="3" name="cssrain"/>

*<input type="button" value="test"/>

**************/

function getRadioValue(radioName){

var obj=document.getElementsByName(radioName);

for(var i=0;i<obj.length;i++){

if(obj[i].checked){

return obj[i].value;

}

}

}

/**************

* 复选框全选/不选/反选

* 用法:

<form id="form_a">

<input type="checkbox" value="1" name="a"/>

<input type="checkbox" value="2" name="a" checked/>

<input type="checkbox" value="3" name="a"/>

<input type="button" value="全选"/>

<input type="button" value="不选"/>

<input type="button" value="反选"/>

</form>

**************/

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.

* 用法:

<form id="form_a" name="form_a">

<input type="checkbox" value="1" name="a"/>

<input type="checkbox" value="2" name="a" checked/>

<input type="checkbox" value="3" name="a"/>

<input type="button" value="全选"/>

</form>

**************/

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;

}

}

return false;

}

//如果控件值=原来值则清空

function clearInput(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;

}

}

/**************

函数 : 文本框得到与失去焦点 操作。

这个方法经常在文本框搜索的时候出现。

文本里显示 “ 搜索 ”,然后当用户鼠标点击此文本,

文本框内容清空。如果用户没填写内容,那么文本的值又复原。

如果填写了,就显示用户填写的。

用法:

<input type="" value="关键字搜索" name="a" onfocus="clearTxt('a','关键字搜索')" onblur="fillTxt('a','关键字搜索')"/>

<input type="text" value="test" name="test" />

**************/

function clearTxt(id,txt) {

if (document.getElementById(id).value == txt)

document.getElementById(id).value="" ;

return ;

}

function fillTxt(id,txt) {

if ( document.getElementById(id).value == "" )

document.getElementById(id).value=txt;

return ;

}

/**************

函数 : 用来判断鼠标按的是左键还是右键。(兼容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)

用法:

<input type="button" value="aaa" id="a" />

<input type="button" value="触发ID为a的onclick事件" />

**************/

function handerToClick(objid){

var obj=document.getElementById(objid);

if(document.all){

obj.fireEvent("onclick");

}else{

var e=document.createEvent('MouseEvent');

e.initEvent('click',false,false);

obj.dispatchEvent(e);

}

}

/**************

实现按回车提交

**************/

function QuickPost(evt,form){

var evt = window.event?window.event:evt;

if(evt.keyCode == 13){

document.getElementById(form).submit();

}

}

/*********

验证是否是数字

**********/

function checkIsInteger(str)

{

//如果为空,则通过校验

if(str == "")

return true;

if(/^(-?)(d+)$/.test(str))

return true;

else

return false;

}

当前1/2页12下一页阅读全文

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新Javascript教程学习
    热门Javascript教程学习
    编程开发子分类