try:
<head>
<style>
input{text-transform:uppercase}
</style>
</head>
<body>
<script>
function a(t){
t.value=t.value.toUpperCase()
if(!/^[A-Z]{4}\d{6}$/.test(t.value)){alert('error');t.focus()}
return false
}
</script>
<form name=frm>
<input onblur="a(this)">
<input onblur="a(this)">
<input onblur="a(this)">
</form>

解决方案 »

  1.   

    <input type="text" onblur="ss(this)">
    function ss(obj){
    xx=/\[A-Z]{4}[0-9]{7}/
    if(!obj.value.xx.test()){
    alert("错误")
    }
    }
      

  2.   

    这也叫正则表达式吗?这么长???,不过它的确就是你想要的。
        javaoldmouse (凤凰涅盘)加点分吧,不加分,对的起我;但对不起我的眼睛,两只眼睛平白无辜跟我受累!!!哈哈盯了半天,小心翼翼输入搞了有史以来最长的正则表达式:<html>
    <head>
    <script language="JavaScript" type="text/JavaScript">
    function Check ( Field ) {   oPattern = /^([A-Z])(?=[A-Z])(?!\1)([A-Z])(?=[A-Z])(?!\1|\2)([A-Z])(?=[A-Z])(?!\1|\2|\3)([A-Z])(?=\d)(\d)(?=\d)(?!\5)(\d)(?=\d)(?!\5|\6)(\d)(?=\d)(?!\5|\6|\7)(\d)(?=\d)(?!\5|\6|\7|\8)(\d)(?=\d)(?!\5|\6|\7|\8|\9)(\d)(?=\d)(?!\5|\6|\7|\8|\9|\10)\d$/;   oPattern.test ( Field.value ) || alert ( "Error" );}
    </script></head>
    <body>
    <input type="text" name="T1" size="20" value="ABCD1234567" onblur="Check(this)"><p>
    <input type="text" name="T2" size="20" value="QWER1234567" onblur="Check(this)">
    </form>
    </body>
    </html>
      

  3.   

    cnlyl(海龙王),感谢你的热心,我试了您的程序,但是我的INPUT是程序自动生成的其名称是相同的,所以好像实现不了,如果你可以帮帮兄弟,那我可以在加x00分!谢谢,如果有思路也可以加分的。
      

  4.   

    javaoldmouse(凤凰涅盘):
        我又看了你的问题,可能是我理解错了,我写的哪个巨难的正则表达式是检查11位字符,要求头4位是字母,后7位是数字,且11位字符要求两两不相同,即:不允许一个字符出现两次。
    你再把你的要求,说明白些。是检查多个text框,要求text框里的内容不允许相同吗?
      

  5.   

    cnlyl(海龙王)是的其实我输入的是一个编号,例如程序生成3个text框,是同名的,而要求每个text填写的编号是不可以相同的.
      

  6.   

    這本身就是一個簡單的問題, cnlyl(海龙王)也太複雜話了,檢測其它的樓上有說,檢測重復的(以下檢測必須先保證之前的檢測都通過在保證正確):
    <form name="form1">
    <input name=ab>
    <input name=ab>
    <input name=ab>
    <input type=button onclick="chk()" value="check">
    </form>
    <script>
    function chk(){
    var t=document.form1.ab,str=""
    for (var i=0;i<t.length;i++){str+=t[i].value+",";}
    for (var i=0;i<t.length;i++){
    if((str.length - str.replace(eval("/"+t[i].value+",/g"),"").length) != (t[i].value.length + 1)){
    alert('有重復')
    return false
    }
    }
    alert("OK")
    return true
    }
    </script>
      

  7.   

    有沒有搞錯,一把嘴沒辦事的還誤導人(比gcd還離譜)的還得了那麼多分,本來有更優化的方案都懶得提了