<input onKeyUp="value=value.replace(/[ -}]/g,'')">匹配空格和}之间,实现自动替换汉字以外的文字

解决方案 »

  1.   

    <input onblur="value=value.replace(/[^\x00-\xff\w]/g, '')">
      

  2.   

    chkData.htm<HTML>
    <HEAD>
    <TITLE> New Document </TITLE>
    <script language="javascript" src="chkData.js"></script>
    </HEAD><BODY>
    <FORM METHOD=POST ACTION="" name="form1">
    <table>
    <tr><td>
    不得為空:<INPUT TYPE="text" NAME="data"><br>
    必須為日期型:<INPUT TYPE="text" NAME="emp_date"><br>
    標准E_mail﹕<INPUT TYPE="text" NAME="EMail"><br>
    全部英文﹕<INPUT TYPE="text" NAME="English"><br>
    輸入數字﹕<INPUT TYPE="text" NAME="Number"><br>
    輸入英文或數字或.﹕<INPUT TYPE="text" NAME="en"><br>
    輸入中文﹕<INPUT TYPE="text" NAME="onlyCh"><br>
    不得輸入中文﹕<INPUT TYPE="text" NAME="notCh"><br>
    <INPUT TYPE="submit" value="提交">
    </td></tr></table>
    </FORM>
    </BODY>
    </HTML>
    <SCRIPT LANGUAGE="JavaScript">
    var obj=new chkForm("form1")
    obj.isPass("data","isZero");
    obj.isPass("data","isNumeric");
    obj.isPass("emp_date","isDate");
    obj.isPass("EMail","isEmail","請輸入標准格式e_mail﹐請改正");
    obj.isPass("English","isEnglish");
    obj.isPass("Number","isNumeric");
    obj.isPass("en","isEN");
    obj.isPass("onlyCh","isChinese");
    obj.isPass("notCh","isNoChinese");
    </SCRIPT>
    chkData.js:function String.prototype.trim(){return  this.replace(/(^\s*)|(\s*$)/g, "");}function isDate(s,msg){
    if (s.value.trim()=="")return true;
    if (!msg)msg='不存在該日期﹐請改正';
    var str=s.value
    var reg = /^(\d{4})(-|\/)(0?[1-9]|1[0-2])(-|\/)(0?[1-9]|[12][0-9]|3[01])$/g; 
    var r = reg.exec(str); 
    if(r==null){alert(msg);s.select();return false;}
    var d = new Date(r[1], r[3]-1,r[5]); 
    var newStr=d.getFullYear()+r[2]+(d.getMonth()+1)+r[2]+d.getDate()
    var reg=/(\/|-)(0*)( *)([1-9])/g
    var t=s.value.replace(reg,'$1$4')
    if (newStr==t){return true;}
    s.focus();
    s.select();
    alert(msg);
    return false;
    }function isEmail(s,msg){
    if (s.value.trim()=="")return true;
    var reg = /^([a-z]){1,}([\.a-z0-9_\-]){1,}([a-z0-9]){1,}@([a-z0-9_-]){3,}(\.([a-z0-9]){2,4}){1,2}$/gi; 
    if (reg.test(s.value))return true;
    else {
    alert((msg?msg:'請輸入標准格式E_mail'));
    s.focus();
    s.select()
    return false;
    }
    }function isEnglish(s,msg){
    if (s.value.trim()=="")return true;
    var reg=/^[a-z]*$/gi
    if(reg.test(s.value))return true
    else {
    alert((msg?msg:'該欄只能輸入英文﹐請改正'));
    s.focus();
    s.select();
    return false;
    }
    }function isChinese(s,msg){
    if (s.value.trim()=="")return true;
    var reg = /[^\u4E00-\u9FA5]/g;
    if (reg.test(s.value)){
    s.focus();
    s.select()
    alert((msg?msg:'該欄只能輸入中文﹐請改正'));
    return false;
    }
    return true;
    }function isNoChinese(s,msg){
    if (s.value.trim()=="")return true;
    var reg = /[\u4E00-\u9FA5]|[\uFE30-\uFFA0]/gi;
    if (reg.test(s.value)){s.select()
    alert((msg?msg:'該欄不能輸入中文及全角符號﹐請改正'));
    return false;
    }
    return true;
    }function isZero(s,msg){
    var str=s.value.trim();
    if (str.length!=0)return true
    else {
    alert((msg?msg:'該欄不能為空﹐請改正'));
    s.focus();
    s.select();
    return false;
    }
    }function isNumeric(s,msg){
    if (s.value.trim()=="")return true;
    if (s.value*1!=s.value){
    alert((msg?msg:'該欄為只能輸入數字﹐請改正'))
    s.focus();
    s.select()
    return false
    }
    return true
    }function isEN(s,msg){
    if (s.value.trim()=="")return true;
    var reg=/^[a-z0-9.]*$/gi
    if(reg.test(s.value))return true
    else {
    alert((msg?msg:'該欄只能輸入英文和數字﹐請改正'));
    s.focus();
    s.select();
    return false;
    }
    }function chkForm(frmName){
    this.frmName=frmName;
    this.chkFunBody = "";
    this.isPass = function(eleName,chkFun,strMsg){
    this.chkFunBody += chkFun+"("+this.frmName+"."+eleName
    if(strMsg)this.chkFunBody +=",\""+strMsg+"\""
    this.chkFunBody +=") && "
    var tmp = "return( "+ this.chkFunBody +" true)"
    eval(this.frmName+".onsubmit=Function('"+tmp+"');");
    }
    }
      

  3.   

    八爪鱼的:var reg = /[^\u4E00-\u9FA5]/g;  这个结果似乎是对的 多谢各位了