<script>
function check()
{
var tt=document.getElementById('tt');
//if(isNaN(tt.value))
var reg=/^[A-Za-z]+$/;
var str=new RegExp(tt.value);
if(str.test(reg))
{
alert('非法字符');
tt.value='';
}
}
</script>
<input id="tt" onkeyup="check()">现象是只能输入第一次a,z时触发,再输入就没用了

解决方案 »

  1.   

    var reg=/^[A-Za-z]+$/;
    var tt=document.getElementById('tt');
    if(reg.test(tt.value)){
    alert('非法字符');
    tt.value=''
    }
      

  2.   


    <script>
    function check()
    {
    var tt=document.getElementById('tt');
    //if(isNaN(tt.value))
    var reg=/^[A-Za-z]+$/;
    if(reg.test(tt.value))
    {
    alert('非法字符');
    tt.value='';
    }
    }
    </script>
    <input id="tt" onkeyup="check()">
      

  3.   

    var reg=/^[A-Za-z]+$/;这个本来就是声明一个正则对象reg.test(tt.value)
      

  4.   

    var tt=document.getElementById('tt');
    if(new RegExp("^[A-Za-z]+$").test(tt.value)){
    alert('非法字符');
    tt.value=''
    }
      

  5.   

    你或者用一个正则去test一个string
    或者用一个string去match一个正则
    混用就不行了http://www.w3school.com.cn/js/jsref_match.asp
    http://www.w3school.com.cn/js/jsref_test_regexp.asp