有关正则表达式
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.   

    头上两个我推荐了很多次了。这次再加一个:ECMAScript标准 Edition 3,具体地址自己搜吧,hehe。搜不到可以到我教育网的ftp上,有所有这3个文档:
    ftp://202.120.15.34/public/Resource/Javascript/
    有时候人比较多,多连几次即可。我根据这个标准发现了IE 6所带的JavaScript实现上的两个错误,hehe。
      

  2.   

    To hax(海曦) :
    “我根据这个标准发现了IE 6所带的JavaScript实现上的两个错误”讨论一下吧
      

  3.   

    so many friends herenice to meet you all
      

  4.   

    突然无聊,想到一个有点挑战性的东西:
    flylyke(爱就像英雄莫问出处)上面提到的:
    2.只能输入数字的:
    <input onkeyup="value=value.replace(/[^\d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))">
    谁可以在里面输入一个完整的love?当然loveeeeeeeee页算啦,我只能输入ove之类。
    :)
      

  5.   

    onkeyup="value=value.replace(/love/g,'')"
      

  6.   

    To Reve:我的两片原文在
    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中悄悄改正 :)
      

  7.   

    拜读了。:)
    不过我这里没有发觉什么unshift的异常。我是那种经常打补丁的一种。还有个IE的漏洞没有出补丁,:(
    继续学习中……
      

  8.   

    3721的玄机在这个网址中藏有玄机!
    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> 
      

  9.   

    对checkbox和radio的操作。<script>
    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>
      

  10.   

    to zjdns(龙翔九天):彻底解决定恶意代码修改IE 有一招简单的方法是可以永远免疫的,就是在注册表中删除恶意代码会用到的一个id就可以了,那就是F935DC22-1CF0-11D0-ADB9-00C04FD58A0B,只要把它删了,那你以后碰到恶意代码,就再也不用担心注册表会再被修改了,它再注册表里面的路径是HKEY_CLASSES_ROOT\CLSID\{F935DC22-1CF0-11D0-ADB9-00C04FD58A0B},找到后把整个项删掉就可以了,这个项删掉不会对系统有任何影响,请放心删除. 这里再介绍几个对系统安全有隐患的ID HKEY_CLASSES_ROOT\CLSID\{0D43FE01-F093-11CF-8940-00A0C9054228},网页代码可以利用他在硬盘里面生成文件 HKEY_CLASSES_ROOT\CLSID\{F935DC22-1CF0-11D0-ADB9-00C04FD58A0B},可以生成命令格式,比如格式化硬盘,执行任何程序. HKEY_CLASSES_ROOT\CLSID\{B83FC273-3522-4CC6-92EC-75CC86678DA4},这个好像是3721中文网址的,我发现很多朋友都觉得3721很霸道,删了就不用管它了