有关正则表达式
1.只能输入数字和英文的:
<input onkeyup="value=value.replace(/[\W]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))">
2.只能输入数字的:
<input onkeyup="value=value.replace(/[^\d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))">
3.只能输入全角的:
<input onkeyup="value=value.replace(/[^\uFF00-\uFFFF]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\uFF00-\uFFFF]/g,''))">
4.只能输入汉字的:
<input onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\u4E00-\u9FA5]/g,''))">
1.只能输入数字和英文的:
<input onkeyup="value=value.replace(/[\W]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))">
2.只能输入数字的:
<input onkeyup="value=value.replace(/[^\d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))">
3.只能输入全角的:
<input onkeyup="value=value.replace(/[^\uFF00-\uFFFF]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\uFF00-\uFFFF]/g,''))">
4.只能输入汉字的:
<input onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\u4E00-\u9FA5]/g,''))">
ftp://202.120.15.34/public/Resource/Javascript/
有时候人比较多,多连几次即可。我根据这个标准发现了IE 6所带的JavaScript实现上的两个错误,hehe。
“我根据这个标准发现了IE 6所带的JavaScript实现上的两个错误”讨论一下吧
flylyke(爱就像英雄莫问出处)上面提到的:
2.只能输入数字的:
<input onkeyup="value=value.replace(/[^\d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))">
谁可以在里面输入一个完整的love?当然loveeeeeeeee页算啦,我只能输入ove之类。
:)
http://www.csdn.net/Expert/TopicView1.asp?id=823702
http://www.csdn.net/Expert/TopicView1.asp?id=823703
后来懒惰就没有再继续写这个系列。两个Bug是:1. 数组的定义语法与ECMAScript标准有出入。按照标准,以下代码myArray = [1, 2, , 4, ,];所产生的数组length为5,其中myArray[2], myArray[4]为undefined。
但是IE 6并不忽略最后一个逗号,也就是myArray的长度在IE里是6而不是5,这是它的一个bug,因为我仔细看了EMCAScript的说明确实应该是5的。2. Array 的扩展方法 unshift() 返回值错误。以下是微软的文档:unshift 方法 将指定的元素插入数组开始位置并返回该数组。arrayObj.unshift([item1[, item2 [, . . . [, itemN]]]])参数arrayObj 必选项。一个 Array 对象。
item1, item2, ... ,itemN 可选项。将插入到该 Array 开始部分的元素。说明unshift 方法将这些元素插入到一个数组的开始部分,所以这些元素
将以参数序列中的次序出现在数组中。
根据EMCAScript Edition 3(我辛辛苦苦查的文档),unshift
应该返回新的长度,显然微软的文档有误。而且根据我的试验,IE 6的
unshift返回undefined,也就是什么都没返回。这应该是MS的又一个bug。
也许他们很快会在下一个building中悄悄改正 :)
不过我这里没有发觉什么unshift的异常。我是那种经常打补丁的一种。还有个IE的漏洞没有出补丁,:(
继续学习中……
http://cnsmin.3721.com/textclick/cnsminex.htm?intv=7&intkey=9abdceb3里面的代码是这样的!
谁能够详细的分解出来吗?
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<object id="CnsMin" classid="clsid:B83FC273-3522-4CC6-92EC-75CC86678DA4" height=0 width=0></object>
<SCRIPT LANGUAGE="VBScript">
<!--
On error resume next
CnsMin.ProcessPage
-->
</SCRIPT> </head>
<body bgcolor="#FFFFFF" text="#000000" leftmargin="0" topmargin="1" marginwidth="0" marginheight="0">
</body>
</html>
function selectAllOne(sType,isChecked){
var i;
var es = document.form1.elements ;
for(i=0;i<es.length;i++){
if (es[i].type==sType)
es[i].checked=isChecked;
}
}function selectAllTwo(sType,isChecked){
var i;
var es = document.all.tags("input") ;
for(i=0;i<es.length;i++){
if (es[i].type==sType)
es[i].checked=isChecked;
}
}function selectAllThree(eName,isChecked){
var i;
var es = eval("document.form1."+eName) ;
if (es.length)
for(i=0;i<es.length;i++){
es[i].checked=isChecked;
}
else
es.checked=isChecked;
}function getValueOne(sType){
var i;
var es = document.form1.elements ;
for(i=0;i<es.length;i++){
if (es[i].type==sType && es[i].checked)
alert(es[i].value);
}
}function getValueTwo(sType){
var i;
var es = document.all.tags("input") ;
for(i=0;i<es.length;i++){
if (es[i].type==sType && es[i].checked)
alert(es[i].value);
}
}function getValueThree(eName){
var i;
var es = eval("document.form1."+eName) ;
if (es.length)
for(i=0;i<es.length;i++){
if (es[i].checked)
alert(es[i].value) ;
}
else
if (es.checked)
alert(es.value) ;
}
</script>
<form name=form1>
<input type=checkbox name=checkboxa value=a>
<input type=checkbox name=checkboxa value=b>
<input type=checkbox name=checkboxa value=c>
<br>
<input type=button name=b value=selectAllOne onclick="selectAllOne('checkbox',true)">
<input type=button name=b value=selectAllTwo onclick="selectAllTwo('checkbox',true)">
<input type=button name=b value=selectAllTwo onclick="selectAllThree('checkboxa',true)">
<br>
<input type=button name=b value=noAllOne onclick="selectAllOne('checkbox',false)">
<input type=button name=b value=noAllTwo onclick="selectAllTwo('checkbox',false)">
<input type=button name=b value=noAllTwo onclick="selectAllThree('checkboxa',false)">
<br>
<input type=button name=b value=getValueOne onclick="getValueOne('checkbox')">
<input type=button name=b value=getValueTwo onclick="getValueTwo('checkbox')">
<input type=button name=b value=getValueTwo onclick="getValueThree('checkboxa')">
<br><br>
<input type=radio name=radioa value=a>
<input type=radio name=radiob value=b>
<input type=radio name=radioc value=c>
<br>
<input type=radio name=sameradio value=samea>
<input type=radio name=sameradio value=sameb>
<input type=radio name=sameradio value=samec>
<br>
<input type=button name=b value=selectAllOne onclick="selectAllOne('radio',true)">
<input type=button name=b value=selectAllTwo onclick="selectAllTwo('radio',true)">
<input type=button name=b value=selectAllTwo onclick="selectAllThree('sameradio',true)">
<br>
<input type=button name=b value=noAllOne onclick="selectAllOne('radio',false)">
<input type=button name=b value=noAllTwo onclick="selectAllTwo('radio',false)">
<input type=button name=b value=noAllTwo onclick="selectAllThree('sameradio',false)">
<br>
<input type=button name=b value=getValueOne onclick="getValueOne('radio')">
<input type=button name=b value=getValueTwo onclick="getValueTwo('radio')">
<input type=button name=b value=getValueTwo onclick="getValueThree('sameradio')">
</form>