首页 > web前端 > js教程 > 正文

js常用函数2008-8-16整理第1/2页_javascript技巧

PHP中文网
发布: 2016-05-16 19:01:46
原创
1121人浏览过

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

function $(id) {
return document.getelementbyid(id);
}


/**************
函数:getelementsbyclassname
使用方法:
获取document内的超链接class是“info-links”的。
getelementsbyclassname(document, "a", "info-links");
获取container内的p的class是col的.
getelementsbyclassname(document.getelementbyid("container"), "p", "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; ioelement = 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正真的长度.
用法:


**************/
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;iif(str.charcodeat(i)>0&&str.charcodeat(i)len++;
else
len+=2;
return len;
}


//js获取字符串的实际长度,用来代替 string的length属性
string.prototype.length = function(){
return this.replace(/[\u4e00-\u9fa5]+/g,"**").length;
}

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


**************/
string.prototype.filterhtml=function(){
return this.replace(/&/g,"&").replace(//g,"&gt").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);
}

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

/**************
* 得到单选框选中的值。
* 用法:
*
*
*
*
**************/
function getradiovalue(radioname){
var obj=document.getelementsbyname(radioname);
for(var i=0;iif(obj[i].checked){
return obj[i].value;
}
}
}

/**************
* 复选框全选/不选/反选
* 用法:

**************/
function checkall(form, sel) {
for (i = 0, n = form.elements.length; 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>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;
}
}

/**************
函数 : 文本框得到与失去焦点 操作。
这个方法经常在文本框搜索的时候出现。
文本里显示 “ 搜索 ”,然后当用户鼠标点击此文本,
文本框内容清空。如果用户没填写内容,那么文本的值又复原。
如果填写了,就显示用户填写的。
用法:


**************/
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)
用法:


**************/
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;
}


java速学教程(入门到精通)
java速学教程(入门到精通)

java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号