JavaScript实用小技巧2

[b]1.访问剪贴板[/b]

window.clipboardData.setData("Text",oSource.innerText);
window.clipboardData.getData("Text");

[b]2.调用Windows自带的配色控件[/b]

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

[b]3.document.location对象[/b]

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) //打开新的网页

[b]4.字典对象Dictionary[/b]

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

}

[b]5.调用iframe中的js[/b]
(1)iframe中,取父窗口中的数据

var gData = parent.PrtData;

(2)调用iframe中的方法

$('#frm')[0].contentWindow.printView();

[b]6.取字符串的字符长度[/b]

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

[b]7、15位身份证转成18位[/b]

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

[b]8、检验身份证并返回信息[/b]

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

[b]9、日期操作[/b]

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

[b]10、判断img是否加载完成[/b]

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

[b]11、无提示关闭窗口[/b]

function closeWindowSilently(){
window.opener=null;
window.open('','_self','');
window.close();
}
function closeTopWinSilently(){
window.opener=null;
window.open('','_top','');
window.parent.close();
}

[b]12、以非Tab方式打开窗口[/b]

window.open(url, "_blank","scrollbars=yes,resizable=1,modal=false,alwaysRaised=yes");
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值