需求:命名必需以非'-'和'_'和'.'开头,
以字母、数字和'-'和'_'和'.'组成,
末尾不能是'-'或'_'或'.'
或者'_'加数字或'-'加数字或'.'加数字
并且不能以纯数字命名。比如我输入‘-test’,'_test','.test','test-',‘test_’,'test.',‘test_123’,‘test-123’,‘test.123’'123'都是不合法的
 

解决方案 »

  1.   

    //校验登录名:只能输入5-20个以字母开头、可带数字、“_”、“.”的字串 
    var patrn=/^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/;
      

  2.   

    var arr = ['-test','_test','.test','test-','test_','test.','test_123','test-123','test.123','123'];
    var arr1 = ['asdfasdf','asdf111','1sdjf']
    var reg = /^(?![-_.])(?!\d+$)(?!.+?[-_.](\d*)?$)[-\w.]+$/;
    for(var i in arr) {
    document.writeln(reg.test(arr[i]));
    }
    document.writeln('<br />-------');
    for(var i in arr1) {
    document.writeln(reg.test(arr1[i]));
    }
      

  3.   

     /^(?![-_.])(?!\d+$)(?!.+?[-_.]$)(?!.+?_(\d*)?$)[-\w.]+$/;