‘JavaScript’ 存档

支付宝页面保存代码

本代码来源于支付宝

<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01//EN” “http://www.w3.org/TR/html4/strict.dtd“>
<html xmlns=”http://www.w3.org/1999/xhtml“>
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″ />
<title>保存页面</title>
<script src=”https://static.alipay.com/build/js/arale.js” type=”text/javascript” charset=”utf-8″ ></script>
</head>

(更多…)

什么是ECC内存?

ECC是“Error Checking and Correcting”的简写,中文名称是“错误检查和纠正”。ECC是一种能够实现“错误检查和纠正”的技术,ECC内存就是应用了这种技术的内存,一般多应用在服务器及图形工作站上,这将使整个电脑系统在工作时更趋于安全稳定。

要了解ECC技术,就不能不提到Parity(奇偶校验)。在ECC技术出现之前,内存中应用最多的是另外一种技术,就是Parity(奇偶校验)。我们知道,在数字电路中,最小的数据单位就是叫“比特(bit)”,也叫数据“位”,“比特”也是内存中的最小单位,它是通过“1”和“0”来表示数据高、低电平信号的。在数字电路中8个连续的比特是一个字节(byte),在内存中不带“奇偶校验”的内存中的每个字节只有8位,若它的某一位存储出了错误,就会使其中存储的相应数据发生改变而导致应用程序发生错误。而带有“奇偶校验”的内存在每一字节(8位)外又额外增加了一位用来进行错误检测。比如一个字节中存储了某一数值(1、0、1、0、1、0、1、1),把这每一位相加起来(1+0+1+0+1+0+1+1=5)。若其结果是奇数,对于偶校验,校验位就定义为1,反之则为0;对于奇校验,则相反。当CPU返回读取存储的数据时,它会再次相加前8位中存储的数据,计算结果是否与校验位相一致。当CPU发现二者不同时就作出视图纠正这些错误,但Parity有个缺点,当内存查到某个数据位有错误时,却并不一定能确定在哪一个位,也就不一定能修正错误,所以带有奇偶校验的内存的主要功能仅仅是“发现错误”,并能纠正部分简单的错误。

通过上面的分析我们知道Parity内存是通过在原来数据位的基础上增加一个数据位来检查当前8位数据的正确性,但随着数据位的增加Parity用来检验的数据位也成倍增加,就是说当数据位为16位时它需要增加2位用于检查,当数据位为32位时则需增加4位,依此类推。特别是当数据量非常大时,数据出错的几率也就越大,对于只能纠正简单错误的奇偶检验的方法就显得力不从心了,正是基于这样一种情况,一种新的内存技术应允而生了,这就是ECC(错误检查和纠正),这种技术也是在原来的数据位上外加校验位来实现的。不同的是两者增加的方法不一样,这也就导致了两者的主要功能不太一样。它与Parity不同的是如果数据位是8位,则需要增加5位来进行ECC错误检查和纠正,数据位每增加一倍,ECC只增加一位检验位,也就是说当数据位为16位时ECC位为6位,32位时ECC位为7位,数据位为64位时ECC位为8位,依此类推,数据位每增加一倍,ECC位只增加一位。总之,在内存中ECC能够容许错误,并可以将错误更正,使系统得以持续正常的操作,不致因错误而中断,且ECC具有自动更正的能力,可以将Parity无法检查出来的错误位查出并将错误修正。

JavaScript一键复制 分享给QQ/MSN上的好友

<input type=”button” name=”Submit” onClick=’copyToClipBoard()’ value=”分享给QQ/MSN上的好友”>
<script language=”javascript”>
function copyToClipBoard(){
var clipBoardContent=”";
clipBoardContent+=document.title;
clipBoardContent+=”\n”;
clipBoardContent+=this.location.href;
window.clipboardData.setData(“Text”,clipBoardContent);
alert(“复制成功,请粘贴到你的QQ/MSN上推荐给你的好友”);
}
</script>

解决document.form.submit()对象不支持此属性或方法

昨天从晚上9点多开始碰到这个问题,折腾了两个多小时,到11点后还是没有得出结果,不知道怎么回事,问题如下:
<td colspan=”4″>
<input type=”button” name=”query” value=”查询” onclick=”Query();”class=”button”>
<input type=”button” name=”output” value=”导出加载模板EXCEL”onclick=”output1();”>
<input type=’submit’ name=’submit’ class=’button’ onclick=”onShow()” value=”导入数据EXCEL” />
</td>

javaScript方法如下:
function Query(){
var obj_form=document.getElementById(‘s9320Form’);
obj_form.action=”<%=request.getContextPath()%>/s9320.do?command=query”;
obj_form.method=”post”;
obj_form.submit();
}

点击‘查询’按钮后报错:对象不支持此属性或方法,在百思不得其解后,闷闷不乐地从公司回住处了。一直在想为什么呢?今天来上班后,又折腾了一会儿,才知道,原来错误在于上面的控件中,有一名字为:name=’submit’的按钮,罪魁祸首是它,之后把它改为name=’input’之后,问题解决了,(~ o ~),太好了。

新闻向上滚动一屏后暂停数秒又继续滚动-百度空间首页的更新空间

可以参考百度空间首页的更新空间

<div style=”overflow:hidden;height:264px;line-height:22px;font-size:14px” id=”marqueebox0″>

<!–line-height:文字行距–>

<a href=’http://hi.baidu.com/凌殊’ target=’_blank’>凌殊</a><br>

<a href=’http://hi.baidu.com/songkangzhijia’ target=’_blank’>宋康</a><br>

<a href=’http://hi.baidu.com/yuanjinlong’ target=’_blank’>我的空间</a><br>

<a href=’http://hi.baidu.com/logistics_zone’ target=’_blank’>物流区</a><br>

<a href=’http://hi.baidu.com/yx017′ target=’_blank’>孤鹜空间</a><br>

<a href=’http://hi.baidu.com/厚土载物’ target=’_blank’>包_罗_万_象</a><br>

<a href=’http://hi.baidu.com/shsyyz’ target=’_blank’>上海山艺艺术涂装</a><br>

<a href=’http://hi.baidu.com/zhouxiaoli66′ target=’_blank’>数控火焰切割系统 (北京斯…</a><br>

<a href=’http://hi.baidu.com/linzibaobei’ target=’_blank’>● ` 籹z!</a><br>

<a href=’http://hi.baidu.com/minilyx’ target=’_blank’>娴情饰界</a><br>

<a href=’http://hi.baidu.com/qq641823798′ target=’_blank’>不做有情人</a><br>

<a href=’http://hi.baidu.com/mudanguohua’ target=’_blank’>变频供水设备与气压供水设备</a><br>

<a href=’http://hi.baidu.com/huange19′ target=’_blank’>藕香榭</a><br>

<a href=’http://hi.baidu.com/wosheizi123′ target=’_blank’>o淡笑`ミ</a><br>

<a href=’http://hi.baidu.com/mingxing_ccc’ target=’_blank’>明星汽修学校,汽修技术的专家</a><br>

<a href=’http://hi.baidu.com/wenbojun1990′ target=’_blank’>メ诚鍩﹏①个人</a><br>

<a href=’http://hi.baidu.com/hennio’ target=’_blank’>м▂咒 〣丶</a><br>

<a href=’http://hi.baidu.com/shuiguonvhai’ target=’_blank’>水果女孩~~de梦</a><br>

<a href=’http://hi.baidu.com/yanri’ target=’_blank’>雪之华的空间</a><br>

</div><script>

<!–

function startmarquee(lh,speed,delay,index){

var t;

var p=false;

var o=document.getElementById(“marqueebox”+index);

o.innerHTML+=o.innerHTML;

o.onmouseover=function(){p=true}

o.onmouseout=function(){p=false}

o.scrollTop = 0;

function start(){

t=setInterval(scrolling,speed);

if(!p) o.scrollTop += 2;

}

function scrolling(){

if(o.scrollTop%lh!=0){

o.scrollTop += 2;

if(o.scrollTop>=o.scrollHeight/2) o.scrollTop = 0;

}else{

clearInterval(t);

setTimeout(start,delay);

}

}

setTimeout(start,delay);

}

startmarquee(22,50,3000,0);

/**startmarquee(一次滚动高度,速度,停留时间,图层标记);**/

//–>

</script>

验证框中的输入法切换的实现 兼容Firefox IE Safari

1、只允许输入数字

<input name=”username” type=”text” onkeyup=”value=this.value.replace(/\D+/g,”)”>

2、只允许输入英文字母、数字和下划线(以下二种方法实现)

<input name=”username” type=”text” style=”ime-mode:disabled”>

<input name=”username” type=”text” onkeyup=”value=value.replace(/[^\w\.\/]/ig,”)”>

3、只允许输入英文字母、数字和=@#

<input name=”username” type=”text” onkeyup=”value=value.replace(/[^\w=@#]|_/ig,”)”>

4、只允许输入汉字

<input name=”username” type=”text” onkeyup=”value=value.replace(/[^\u4E00-\u9FA5]/g,”)”>

众所周知,现在许多网站都使用了验证码 (Captcha) 防止spam。(例如你在本文下方的留言)

前几天在 UCDChina 的群上看见有人提出验证码对于中文用户的可用性问题。即如果当前用户处于中文输入法状态的时候,在验证码输入框中需要切换输入法为英文。这十分不方便。

这几天经过实验,我提出了这样的方法来解决:通过 input[ type = password] 密码输入控件来实现输入法的切换功能。使用一个透明的密码输入控件,将其a.p.浮在div上方,捕捉输入事件。通过下方的div显示输入文本内容。(因为密码输入控件显示的总是星号)

代码片段如下:

复制内容到剪贴板

代码:

<style type=”text/css”>

#inputGhost {

position:absolute;/*使用绝对定位,浮于div上方*/

filter:alpha(opacity=0);

-moz-opacity:0;

opacity: 0;/*全透明地实现*/

font:normal 14px “Courier New”, Courier, monospace;/*使用与div相同的字体样式。用monospace保证文字等宽,尤其是与密码输入控件的星号等宽*/

border:1px solid #ccc;

padding:2px;

margin:0;

width:65px;

height:17px;

}

#show {

text-transform:uppercase;/*大多数验证码输入均为大写字母,所以此处显示大写字母*/

font:normal 14px “Courier New”, Courier, monospace;/*使用与密码输入控件相同的字体样式。*/

border:1px solid #ccc;

padding:2px;

margin:0;

width:65px;

height:17px;

}

</style>

<input name=”" type=”password” id=”inputGhost” onkeyup=”document.getElementById(‘show’).innerHTML = document.getElementById(‘inputGhost’).value” maxlength=”5″ />

<div id=”show”></div>

代码中简单地使用onkeyup事件来同步div和密码输入框中的内容。

可以看出,有以下问题:

* 在输入框中选中文字无高亮

* 在Safari浏览器中没有光标

* 输入的时候反应比较慢。

接着,我对javascript做了些改进,代码如下(略去css部分)

复制内容到剪贴板

代码:

<input name=”" type=”password” id=”inputGhost” onblur=”bonus.stop()” onfocus=”bonus.start()” maxlength=”5″ />

<div id=”show”></div>

<script type=”text/javascript”>

var bonus = {

interval : 33,//根据人眼每秒刷新24次的原理。我给定了每秒同步30次。

timer : null,

start:function(){

bonus.timer = setInterval(bonus.set, bonus.interval);

document.getElementById(‘show’).style.borderColor = “#7F9DB9″;//使用边框变色提高输入框的受范性

},

stop:function(){

clearInterval(bonus.timer);

document.getElementById(‘show’).style.borderColor = “#ccc”;

},

set:function(){

document.getElementById(‘show’).innerHTML = document.getElementById(‘inputGhost’).value;

}

}

</script>

代码中使用Timer事件来同步div和密码输入框中的内容。

* 改进了focus时输入框边框变色,提高了受范性,缓解了Safari中无关标的问题。

* 速度明显提升

* 代码繁长

后来,我另外查阅了资料,发现IE5的版本以上支持一个私有的css属性 : ime-mode。于是只需一行代码,不需要javascript:

复制内容到剪贴板

代码:

<input name=”" type=”text” style=”ime-mode:disabled; text-transform:uppercase” maxlength=”5″ />

但最后这种方法毕竟只有IE支持。

如何用JavaScript取得Radio被选中的值

一般来说,就是使用遍历的方法,判断每个Radio是否被选中,如果是,再取其值.

1:找出网页中所有控件的name为”rdPort” 的控件,再遍历判断

var ip=”";

var rPort = document.all.rdPort;

for(i=0;i<rPort.length;i++)

{

if(rPort[i].checked)

ip=rPort[i].value;

}

和这个相似的还有另一种:

2:  var ip=”";

var rPort = document.getElementsByName(“rdPort”);

for(i=0;i<rPort.length;i++)

{

if(rPort[i].checked)

ip=rPort[i].value;

}

这两种的差别为:: 1为有多个raido时的方法,如果只有一个radio的情况下,则可以直接用ip=document.all.rdPort.value.这时候问题出现了,我们在进行web编程时,经常碰到这样一种场景:即我们事先不知道页面中有多少个radio,也就是说radio的个数是根据数据库中满足某一条件的记录数目决定的.这时候用上面1的方法就不行了.经过研究,发现用下面2的方法可行,是比较通用的.

使用2:  这样不管从数据库中取出的记录是一条还是多条,都可以统一进行处理.比较该段代码和上边那段代码的区别在于:var rPort=document.getElementsByName(“rdPort”);这一句上边那段代码中是var rPort = document.all.rdPort.我们知道document.getElementsByName(“rdPort”)就是得到一个数组,该数组中的元素是该dom树中所有name为rdPort的元素,即使只有一个radio,也是一个只包含一个元素的数组.而document.all.rdPort则不同,它是得到页面中的rdPort元素的引用,当页面中存在多个radio时,它返回的是一个数组,如果页面中只包含一个radio,则得到的就是这个radio对象的引用.由于这时得到的不是一个数组,因此就不能遍历数组来进行判断了.所以通用的方法还是用document.getElementsByName方法来实现.

注意:,在2中,不可以用getElementById,来代替getElementsByName,因为getElementById只能选取单个控件.

3:一般来说,我喜欢做成函数,所以,也把这个函数做成函数吧,如下:

function getRadioBoxValue(radioName)

{

var obj = document.getElementsByName(radioName); //这个是以标签的name来取控件

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

if(obj[i].checked) {

return obj[i].value;

}

}

return “undefined”;

}

4:javascript radio 全选禁用与取消 ==>实现原理相似,找到所有的radio,遍历设置为禁用,或者选择,或者其它什么,这个就不详细说了,按照上面的方法,在for里换成相应的代码,来达到全选择,或者反选,等

<script language=”javascript”>

function checkall(form)//这里是实现设置某一个form里可用不可用

{

for(var i=0;i<form.elements.length-2;i++)

{

var e=form.elements[i];

if(e.type==’radio’)

e.disabled=form.radio[0].checked;

}

}

</script>

网页表单项Input的高级限制级用法

1.取消按钮按下时的虚线框
在input里添加属性值 hideFocus 或者 HideFocus=true

2.只读文本框内容
在input里添加属性值 readonly

3.防止退后清空的TEXT文档(可把style内容做做为类引用)
<INPUT style=behavior:url(#default#savehistory); type=text id=oPersistInput>

4.ENTER键可以让光标移到下一个输入框
<input onkeydown=”if(event.keyCode==13)event.keyCode=9″ >

5.只能为中文(有闪动)
<input onkeyup=”value=value.replace(/[ -~]/g,”)” onkeydown=”if(event.keyCode==13)event.keyCode=9″>

6.只能为数字(有闪动)
<input onkeyup=”value=value.replace(/[^\d]/g,”) “onbeforepaste=”clipboardData.setData(‘text’,clipboardData.getData(‘text’).replace(/[^\d]/g,”))”>

7.只能为数字(无闪动)
<input style=”ime-mode:disabled” onkeydown=”if(event.keyCode==13)event.keyCode=9″ onKeyPress=”if ((event.keyCode<48 || event.keyCode>57)) event.returnValue=false”>

8.只能输入英文和数字(有闪动)
<input onkeyup=”value=value.replace(/[\W]/g,”)” onbeforepaste=”clipboardData.setData(‘text’,clipboardData.getData(‘text’).replace(/[^\d]/g,”))”>

9.屏蔽输入法
<input type=”text” name=”url” style=”ime-mode:disabled” onkeydown=”if(event.keyCode==13)event.keyCode=9″>

10. 只能输入 数字,小数点,减号(-) 字符(无闪动)
<input onKeyPress=”if (event.keyCode!=46 && event.keyCode!=45 && (event.keyCode<48 || event.keyCode>57)) event.returnValue=false”>

11. 只能输入两位小数,三位小数(有闪动)
<input maxlength=9 onkeyup=”if(value.match(/^\d{3}$/))value=value.replace(value,parseInt(value/10)) ;value=value.replace(/\.\d*\./g,’.')” onKeyPress=”if((event.keyCode<48 || event.keyCode>57) && event.keyCode!=46 && event.keyCode!=45 || value.match(/^\d{3}$/) || /\.\d{3}$/.test(value)) {event.returnValue=false}” id=text_kfxe name=text_kfxe>

12.正负整数

<script language=”Jscript”>
function check()
{

Reg = /^(^-?\d+$)$/        //输入的必须是整数(正负整数)
//Reg = /^(^\d+$)$/            //输入的必须是正整数
alert(Reg.test(document.all.txt1.value))
}
</script>

<input type=”text” name=”txt1″ >
<input type=”button” onclick=”check()” value=”Check”>

实时统计提示输入框已经输入的字符数

====效果演示====

typenum.html

====代码====

<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>
<html xmlns=”http://www.w3.org/1999/xhtml”>
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″ />
<title>实时统计提示输入框已经输入的字符数:东莞科技时代 www.Tech0769.com</title>
</head>
<body>

JavaScript 字符串截取相关

1.substring方法

定义和用法

substring 方法用于提取字符串中介于两个指定下标之间的字符。

语法

stringObject.substring(start,stop)

参数     描述
start     必需。一个非负的整数,规定要提取的子串的第一个字符在 stringObject 中的位置。
stop     可选。一个非负的整数,比要提取的子串的最后一个字符在 stringObject 中的位置多 1。如果省略该参数,那么返回的子串会一直到字符串的结尾。

返回值

一个新的字符串,该字符串值包含 stringObject 的一个子字符串,其内容是从 start 处到 stop-1 处的所有字符,其长度为 stop 减 start。

说明

substring 方法返回的子串包括 start 处的字符,但不包括 end 处的字符。
如果 start 与 end 相等,那么该方法返回的就是一个空串(即长度为 0 的字符串)。
如果 start 比 end 大,那么该方法在提取子串之前会先交换这两个参数。
如果 start 或 end 为负数,那么它将被替换为 0。

2.substr 方法

定义和用法

substr 方法用于返回一个从指定位置开始的指定长度的子字符串。

语法

stringObject.substr(start [, length ])

参数    描述
start   必需。所需的子字符串的起始位置。字符串中的第一个字符的索引为 0。
length 可选。在返回的子字符串中应包括的字符个数。

说明

如果 length 为 0 或负数,将返回一个空字符串。
如果没有指定该参数,则子字符串将延续到stringObject的最后。

举例:
var str = “0123456789″;

alert(str.substring(0));————”0123456789″
alert(str.substring(5));————”56789″
alert(str.substring(10));———–”"
alert(str.substring(12));———–”"
alert(str.substring(-5));———–”0123456789″
alert(str.substring(-10));———-”0123456789″
alert(str.substring(-12));———-”0123456789″
alert(str.substring(0,5));———-”01234″
alert(str.substring(0,10));———”0123456789″
alert(str.substring(0,12));———”0123456789″
alert(str.substring(2,0));———-”01″
alert(str.substring(2,2));———-”"
alert(str.substring(2,5));———-”234″
alert(str.substring(2,12));———”23456789″
alert(str.substring(2,-2));———”01″
alert(str.substring(-1,5));———”01234″
alert(str.substring(-1,-5));——–”"

alert(str.substr(0));—————”0123456789″
alert(str.substr(5));—————”56789″
alert(str.substr(10));————–”"
alert(str.substr(12));————–”"
alert(str.substr(-5));————–”0123456789″
alert(str.substr(-10));————-”0123456789″
alert(str.substr(-12));————-”0123456789″
alert(str.substr(0,5));————-”01234″
alert(str.substr(0,10));————”0123456789″
alert(str.substr(0,12));————”0123456789″
alert(str.substr(2,0));————-”"
alert(str.substr(2,2));————-”23″
alert(str.substr(2,5));————-”23456″
alert(str.substr(2,12));————”23456789″
alert(str.substr(2,-2));————”"
alert(str.substr(-1,5));————”01234″
alert(str.substr(-1,-5));———–”"

3、 indexOf 返回 String 对象内第一次出现子字符串的字符位置。

strObj.indexOf(subString[, startIndex])

参数
strObj

必选项。String 对象或文字。

subString

必选项。要在 String 对象中查找的子字符串。

starIndex

可选项。该整数值指出在 String 对象内开始查找的索引。如果省略,则从字符串的开始处查找。

说明
indexOf 方法返回一个整数值,指出 String 对象内子字符串的开始位置。如果没有找到子字符串,则返回 -1。

如果 startindex 是负数,则 startindex 被当作零。如果它比最大的字符位置索引还大,则它被当作最大的可能索引。

从左向右执行查找。否则,该方法与 lastIndexOf 相同。

示例
下面的示例说明了 indexOf 方法的用法。

function IndexDemo(str2){
var str1 = “BABEBIBOBUBABEBIBOBU”
var s = str1.indexOf(str2);
return(s);
}

Twitter Delicious Facebook Digg Stumbleupon Favorites 更多
如非标明[原创]的内容均来自互联网,如有侵权请来信告知以便删除。