`
log_cd
  • 浏览: 1089289 次
  • 性别: 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");
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics