注册的时候验证用户名,要求5-20位,必须字母开头,后面可以是字母,数字,.,-,_,直接写在JS文件中调用的。。挺简单吧。。谢谢大家了,对正则不大了解。

解决方案 »

  1.   


    <script>
    function test(){
        var str=document.getElementById("txt").value;
        var reg=/^[a_zA_Z].*$/;
        if(!reg.test(str)){
            alert("必须字母开头")
        }
    }
    </script>
    <input type="text" id="txt"><input type="button" value="注册" onclick="test()">
      

  2.   

    <script>
    function test(){
        var str=document.getElementById("txt").value;
        var reg=/^[a-zA-Z]{1}([a-zA-Z0-9]|[._-]){4,19}$/;
        if(!reg.test(str)){
            alert("错误")
        }
    }
    </script>
    <input type="text" id="txt"><input type="button" value="注册" onclick="test()">
    你的跟我的要求未免差了远些基本我自己改了下可以用了。。问题是这个SCRIPT能直接扔到JS文件中么,以后注册的页面调用这个JS文件?谁能解答下分就给谁了。。
      

  3.   


    <script>
    function test(){
        var str=document.getElementById("txt").value;
        var reg=/^[a-z][a-zA-Z0-9_-]+$/;
        if(!reg.test(str)){
            alert("必须字母开头,且只能包含字母,数字,下划线!")
        }
    }
    </script>
    <input type="text" id="txt"><input type="button" value="注册" onclick="test()">
      

  4.   

    可以,建议把var str=document.getElementById("txt").value;提出来,直接把要检测的值传进去.然后返回是否成功.如
    function test(v){
        var reg=/^[a-zA-Z]{1}([a-zA-Z0-9]|[._-]){4,19}$/;
        return (!reg.test(v))
    }
      

  5.   

    <script>
    看看是不是你要的效果
    function test(){
        var str=document.getElementById("txt").value;    var reg=/^[a-zA-Z]{5,20}[\w\.-]*$/;    if(!reg.test(str)){
            alert("您输入的不匹配");
        }else{     alert('正确');
        }
    }
    </script>
    <input type="text" id="txt"><input type="button" value="注册" onclick="test()">