`
log_cd
  • 浏览: 1098420 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

JavaScript实用小技巧2

 
阅读更多
1.访问剪贴板
window.clipboardData.setData("Text",oSource.innerText); 
window.clipboardData.getData("Text"); 

2.调用Windows自带的配色控件
<OBJECT id=dlgHelper CLASSID="clsid:3050f819-98b5-11cf-bb82-00aa00bdce0b" width="0px" height="0px"></OBJECT>
 
<script>
var tempColor = "#0099CC";
function returnColor(){
  var selColor, hexColor = dlgHelper.ChooseColorDlg(tempColor).toString(16);
  selColor = tempColor = ((hexColor.length<6)?"000000".substring(0,6-hexColor.length):"") + hexColor;
  with(event.srcElement){
      value = selColor;
      style.backgroundColor = selColor; 
  } 
}
</script>
<input type="text" value="#0099CC" size="12" onclick="returnColor()" style="background-color: #0099CC">

3.document.location对象
document.location.hash // #号后的部分
document.location.host // 域名+端口号
document.location.hostname // 域名
document.location.href // 完整URL
document.location.pathname // 目录部分
document.location.port // 端口号
document.location.protocol // 网络协议(http:)
document.location.search // ?号后的部分

documeny.location.reload() //刷新网页
document.location.reload(URL) //打开新的网页
document.location.assign(URL) //打开新的网页
document.location.replace(URL) //打开新的网页

4.字典对象Dictionary
var gDic = new ActiveXObject("Scripting.Dictionary");

//遍历Dictionary
function printAll(dic){
	 var keys=dic.Keys().toArray();
	 for(var i = 0;i<keys.length;i++){
	    if(dic.Exists(keys[i])){
			alert(dic.item(keys[i]).id);
			alert(dic(keys[i]).name);
		}
	 }
}

function test(){
	gDic.add('SN-001', {id:'001', name:'张三'});
	gDic.add('SN-002', {id:'002', name:'李四'});
	gDic.add('SN-003', {id:'003', name:'王五'});

	printAll(gDic);

	gDic.remove('SN-002');
	
	printAll(gDic);

	gDic.removeAll();

}

5.调用iframe中的js
(1)iframe中,取父窗口中的数据
   var gData = parent.PrtData;

(2)调用iframe中的方法
  $('#frm')[0].contentWindow.printView();

6.取字符串的字符长度
	function countCharacters(str){
		var len=0;
		for(i=0; i<str.length; i++) {
			if(!/[u00-uFF]/.test(str.charAt(i)))
				len = len + 2;
			else
				len = len + 1;
		}
		
		return len;
	}

7、15位身份证转成18位
/**
* 将15位身份证转成18位:不做验证
*/
function convertID15To18( cardID ){
	if(cardID.length != 15) return;
	
	var v = new Array(); 
	var vs = "10X98765432"; 
	var newCardID = "";
	
	v.push(2, 4, 8, 5, 10, 9, 7, 3, 6, 1, 2, 4, 8, 5, 10, 9, 7); 

	var cardID17 = cardID.substring(0,6)+"19"+cardID.substring(6);
	var N = 0; 
	var R = -1; 
	var T = '0';//储存最后一个数字 
	var j = 0; 
	var cardID18=""; 
	
	//计数出第18位数字 
	for (var i = 16; i >= 0; i--){ 
		N += parseInt(cardID17.substring(i, i + 1)) * v[j]; 
		j++; 
	}

	R = N % 11; 
	T = vs.charAt(R); 
	cardID18 = cardID17 + T; 
	
	return cardID18;
}

8、检验身份证并返回信息
function checkID18Card( sId ){
	var result = {flag: true, msg: '验证通过'};
	var area={
		11:"北京",12:"天津",13:"河北",14:"山西",15:"内蒙古",
		21:"辽宁",22:"吉林",23:"黑龙江",31:"上海",32:"江苏",
		33:"浙江",34:"安徽",35:"福建",36:"江西",37:"山东",
		41:"河南",42:"湖北",43:"湖南",44:"广东",45:"广西",
		46:"海南",50:"重庆",51:"四川",52:"贵州",53:"云南",
		54:"西藏",61:"陕西",62:"甘肃",63:"青海",64:"宁夏",
		65:"新疆",71:"台湾",81:"香港",82:"澳门",91:"国外"
	}

	var iSum=0;
	var info="";
	if(!/^\d{17}(\d|x)$/i.test(sId)){
		result.flag = false;
		result.msg = "字符长度错误";
		return result;
	}

	sId=sId.replace(/x$/i,"a");
	if(area[parseInt(sId.substr(0,2))]==null){
		result.flag = false;
		result.msg = "非法地区";
		return result;
	}

	var sBirthday=sId.substr(6,4)+"-"+Number(sId.substr(10,2))+"-"+Number(sId.substr(12,2));
	var d=new Date(sBirthday.replace(/-/g,"/"))
	if(sBirthday!=(d.getFullYear()+"-"+ (d.getMonth()+1) + "-" + d.getDate())){
		result.flag = false;
		result.msg = "非法生日";
		return result;
	}

	for(var i = 17;i>=0;i --) iSum += (Math.pow(2,i) % 11) * parseInt(sId.charAt(17 - i),11)
	if(iSum%11!=1){
		result.flag = false;
		result.msg = "非法证号";
		return result;
	}

	result.area = area[parseInt(sId.substr(0,2))];
	result.birthday = sBirthday;
	result.sex = sId.substr(16,1)%2?"男":"女";

	return result;
}

9、日期操作
Date.prototype.Format = function(fmt){
    var o = { 
        "M+" : this.getMonth() + 1, //月份 
        "d+" : this.getDate(), //日 
        "h+" : this.getHours(), //小时 
        "m+" : this.getMinutes(), //分 
        "s+" : this.getSeconds(), //秒 
        "q+" : Math.floor((this.getMonth() + 3) / 3), //季度 
        "S" : this.getMilliseconds() //毫秒 
    }; 
    if (/(y+)/.test(fmt)) 
        fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length)); 
    for (var k in o) 
        if (new RegExp("(" + k + ")").test(fmt)) 
            fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length))); 
    return fmt; 
}

Date.prototype.addDays = function(d){
    this.setDate(this.getDate() + d);
}

Date.prototype.addWeeks = function(w){
    this.addDays(w * 7);
}

Date.prototype.addMonths= function(m){
    var d = this.getDate();
    this.setMonth(this.getMonth() + m);

    if (this.getDate() < d)
        this.setDate(0);
}

Date.prototype.addYears = function(y){
    var m = this.getMonth();
    this.setFullYear(this.getFullYear() + y);

    if (m < this.getMonth()) 
    {
        this.setDate(0);
    }
}

Date.prototype.getWeekdayDate = function(weekday){
	weekday %= 7;
	var time = this.getTime();
	var diff = weekday - this.getDay();
	time += diff*24*3600000;
	return new Date(time);
}

10、判断img是否加载完成
function imgLoad(img,callback){  
   img.complete || img.readyState == 'loading' || img.readyState == 'complete' ? callback() : img.onload = callback;  
}

/**
 * 取合适大小的图片
 * orgin: 真实的图片大小
 * limit: 限定范围大小
 */
function getImageFitScale(origin, limit){
	var _new = {};
	var ratio = Math.min( 1,
			Math.max( 0, limit.width ) / origin.width  || 1,
			Math.max( 0, limit.height ) / origin.height || 1);
			
	_new['margin-top'] = (limit.height - Math.round( origin.height * ratio ))/2;
	//_new['margin-left'] = (limit.width - Math.round( origin.width * ratio ))/2;
	
	_new.width = Math.round( origin.width * ratio );
	_new.height = Math.round( origin.height * ratio );
	
	return _new;	
}

$("<img id='previewPic'/>").attr({src: data}).one('load', function(){
     var _size = getImageFitScale({width:this.width, height:this.height}, gImageScale);
     $(this).css(_size);
});

function showPic(){
	var img = new Image();
	img.src = getFtpPath();
	
	$(img).load(function(){
		var scale = getImageFitScale({width:this.width, height:this.height},{width:900,height:512});

		$("#middle").append($("<img>",{
			id: "zjpic",
			src: img.src,
			width: scale.width,
			height: scale.height
		}));        
        }
}

11、无提示关闭窗口
function closeWindowSilently(){
	window.opener=null; 
	window.open('','_self',''); 
	window.close();	
}
function closeTopWinSilently(){
	window.opener=null; 
	window.open('','_top',''); 
	window.parent.close();
}

12、以非Tab方式打开窗口
window.open(url, "_blank","scrollbars=yes,resizable=1,modal=false,alwaysRaised=yes");
分享到:
评论

相关推荐

    Javascript 实用小技巧

    在本篇标题为“Javascript实用小技巧”的文章中,作者分享了一系列实用的JavaScript代码片段,旨在帮助学习JavaScript的人士掌握一些提高编程效率的技巧。文章内容涉及了JavaScript的Function对象的apply和call方法...

    JavaScript实用代码小技巧

    在这篇文章中,我们将深入探讨JavaScript中的实用代码小技巧,特别是EcmaScript 5和6(ES5/ES6+)中的一些隐藏特性。这些技巧可以帮助我们更好地进行对象的深拷贝、处理JSON数据、优化数组操作以及利用ES6新增的数据...

    JavaScript小技巧全集 JavaScript教程 JavaScript源代码集

    这个“JavaScript小技巧全集”提供了丰富的教程和源代码,旨在帮助开发者深入理解和掌握JavaScript的各种实用技巧。 首先,我们来看看JavaScript的基本语法。JavaScript是一种弱类型、解释型的语言,它的变量声明不...

    JavaScript窗口小技巧.pdf

    这篇文章主要讨论了使用JavaScript实现窗口小技巧,避免设计出难用的网站。文章中提供了几种技术来善用JavaScript的窗口功能,包括如何创建无边框窗口、画布模式窗口等。 首先,文章提到使用多窗口(Multi-window)...

    40种Javascript中常用的使用小技巧

    40种Javascript中常用的使用小技巧

    JavaScript小技巧全集

    "JavaScript小技巧全集1.doc"和"JavaScript小技巧全集2.doc"可能包含更深入的案例和示例,而"使用须知.txt"可能提供了阅读和使用这些文档的注意事项。通过学习和实践这些技巧,你可以不断提升你的JavaScript技能水平...

    Javascript小技巧之生成html元素.docx

    2. **javascript同步服务器时间和同步倒计时小技巧**:讲解如何用JavaScript实现与服务器时间同步,以及创建倒计时功能的方法。 3. **javascript应用小技巧方法汇总**:收集了各种JavaScript应用中的小窍门,有助于...

    javaScript小技巧。

    根据提供的文件内容,我们可以总结出以下几个JavaScript小技巧及相关知识点: ### 1. 引入外部JavaScript文件 在HTML文档中,可以通过`&lt;script&gt;`标签引入外部JavaScript文件来执行脚本代码。例如: ```html ...

    Javascript常用小技巧

    以下是一些JavaScript的常用小技巧,可以帮助开发者提高效率,优化网页功能。 1. **禁用鼠标右键**:通过`oncontextmenu="window.event.returnValue=false"`可以禁止用户在网页上点击鼠标右键,通常用于防止用户...

    19 个 JavaScript 编码小技巧

    ### 19 个 JavaScript 编码小技巧 #### 一、三元操作符 三元操作符是一种简洁地表达条件语句的方式。相比于传统的 `if-else` 结构,三元操作符可以让代码更加紧凑。 **Longhand:** ```javascript const x = 20; ...

    常用javascript小技巧

    ### 常用JavaScript小技巧详解 在前端开发领域,JavaScript是不可或缺的编程语言,它提供了丰富的功能和灵活的语法,让开发者能够构建交互式的网页应用。以下是对给定文件中提到的一些常用JavaScript小技巧的深入...

    1000个javascript小技巧

    这本名为"1000个JavaScript小技巧"的资源集锦涵盖了各种实用的编程技巧,旨在帮助开发者提升效率,解决实际问题。以下是一些关键的知识点,将从这1000个小技巧中提炼出来: 1. **变量声明与作用域**:了解`var`、`...

    Javascript小技巧一箩筐

    本文将基于“JavaScript小技巧一箩筐”这一主题,深入探讨一系列实用的JavaScript技巧,涵盖事件处理、DOM操作、表单控制、定时器使用等多个方面,旨在帮助开发者提升代码效率与网站性能。 #### 事件处理与键盘操作...

    javascript小技巧全集

    这个"JavaScript小技巧全集"涵盖了各种实用的编程技巧,旨在帮助开发者提升效率,编写出更优雅、性能更好的代码。无论您是在Windows、MacOS还是Linux等任何操作系统上工作,这些技巧都是通用的。 一、函数与闭包 1....

    JavaScript小技巧整理篇(非常全).pdf

    ### JavaScript小技巧整理篇知识点详述 #### 一、引言 本文档旨在总结一系列JavaScript编程中的实用技巧,涵盖从基本操作到高级功能的应用。这些技巧不仅有助于提升开发效率,还能帮助开发者更好地理解和掌握...

    javascript中的小技巧

    ### JavaScript中的实用小技巧 JavaScript 是一种广泛使用的脚本语言,尤其在网页开发中不可或缺。以下是一些在日常编码过程中非常实用的小技巧。 #### 1. 使用 `document.write("")` 清空页面内容 `document....

Global site tag (gtag.js) - Google Analytics