<script language="javascript">
<!--
function userNameIdentify( obj ) {
var objval = obj.value;
var r = objval.match(这里应该怎么写???);
if ( r == null ) {
alert( '用户名格式错误!' );
obj.value = '';
return false;
}
return true;
}
-->
</script>

解决方案 »

  1.   

    位数就不用正则判断了直接用objval.length区分汉字和字母就行了
               function userNameIdentify( obj ) {
    var objval = obj.value;
     var re=/^[\w.-]+@([0-9a-z][\w-]+\.)+[a-z]{2,3}$/i;
    var r = objval.match(re);
    if (r == null) {
    alert( '用户名格式错误!' );
    obj.value = '';
    return false;
    }
    return true;
    }
      

  2.   

    一些常用的正则表达式。我收藏的。感谢CSDN网友共享。
    http://www.losi.com.cn/DirDisplay.jsp?id=!tkkWWQY
      

  3.   

    谢谢热心的朋友们:
    hbhbhbhbhb1021(天外水火(我要多努力)) :条件不矛盾,最小位数/最大位数指的是长度,意思就是汉字按两个英文字符的长度算,这个问题我已经解决了
      

  4.   

    clare2003(忘情火):不管是什么的约束了,我现在着急的就是实现这个约束功能
      

  5.   

    汗....我都贴出来了,没有试吗?
               function userNameIdentify( obj ) {
    var objval = obj.value;
     var re=/^[\w.-]+@([0-9a-z][\w-]+\.)+[a-z]{2,3}$/i;
    var r = objval.match(re);
    if (r == null) {
    alert( '用户名格式错误!' );
    obj.value = '';
    return false;
    }
    return true;
    }
      

  6.   

    TO 楼主
    首字符为字母或数字
    只要/^[0-9a-z]/i
    楼主的里面字符已经限定只有那些了,就直接写死,不要用空格
      

  7.   

    clare2003(忘情火) and hbhbhbhbhb1021(天外水火(我要多努力)) 
    真是万分感谢,谢谢你们还有其他的朋友们
      

  8.   

    你要的功能应该就是要么是数字,要么是Email吧?
    如果是这样,就有了:
    (\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*)|(\d{2,})
      

  9.   

    to 楼上:
    好象还有数字和字母的组合,下面写了一个,完成了楼主除长度之外的需求,可能有遗漏,大家补充<script language="javascript">
    <!--
    function userNameIdentify( obj ) {
    var objval = obj.value;
    var r = objval.match(/(^[a-z]([a-z0-9\-_]*@?)*[a-z0-9\-_]*$)|(^\d(([a-z0-9\-_]*[a-z][a-z0-9\-_]*)(?=\1)@)*[a-z0-9\-_]*$)|(^\d[a-z0-9\-_]*(@(?=([a-z0-9\-_]*[a-z][a-z0-9\-_]*))([a-z0-9\-_]*[a-z][a-z0-9\-_]*))*$)/i);
    if ( r == null ) {
    alert( '用户名格式错误!' );
    obj.value = '';
    return false;
    }
    return true;
    }
    -->
    </script>
    <input name=text1 onblur=userNameIdentify(this)>
      

  10.   

    对了,忘记加上开始结束符了,^!^
    ^(\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*)|(\d{2,})$
      

  11.   

    上面的有点问题,输入2aa@aa@@就判断错误
    改下
    <script language="javascript">
    <!--
    function userNameIdentify( obj ) {
    var objval = obj.value;
    var r = objval.match(/(^[a-z]([a-z0-9\-_]*@?)*[a-z0-9\-_]*$)|(^\d(([a-z0-9\-_]*[a-z][a-z0-9\-_]*)(?=\1)@)+[a-z0-9\-_@]*$)|(^\d[a-z0-9\-_@]*(@(?=([a-z0-9\-_]*[a-z][a-z0-9\-_]*))([a-z0-9\-_]*[a-z][a-z0-9\-_]*))+$)/i);
    if ( r == null ) {
    alert( '用户名格式错误!' );
    obj.value = '';
    return false;
    }
    return true;
    }
    -->
    </script>
    <input name=text1 onblur=userNameIdentify(this)>
      

  12.   

    第一组表达式在优化下,并且增加一组修改BUG
    <script language="javascript">
    <!--
    function userNameIdentify( obj ) {
    var objval = obj.value;
    var r = objval.match(/(^\d[a-z0-9\-_]*$)|(^[a-z][a-z0-9\-_@]*$)|(^\d(([a-z0-9\-_]*[a-z][a-z0-9\-_]*)(?=\1)@)+[a-z0-9\-_@]*$)|(^\d[a-z0-9\-_@]*(@(?=([a-z0-9\-_]*[a-z][a-z0-9\-_]*))([a-z0-9\-_]*[a-z][a-z0-9\-_]*))+$)/i);
    if ( r == null ) {
    alert( '用户名格式错误!' );
    obj.value = '';
    return false;
    }
    return true;
    }
    -->
    </script>
    <input name=text1 onblur=userNameIdentify(this)>
      

  13.   

    约束条件为:
    用户名首字符必须为字母或数字。 /[0-9a-z].*/
    用户名不区分大小写。 /[0-9a-z].*/i
    用户名不得为空,不得含有空格。 上式已满足
    如果用户名中包括字母,则必须同时包含@字符。 /[0-9]+|([a-z][0-9a-z@]+)/i
      

  14.   

    hehe,CSDN同一用户只能连发3个帖子,我帮你顶下,你发吧
      

  15.   

    csdn还老说“请不要发表可能给我们带来伤害的言论,谢谢配合”
      

  16.   

    //约束首字符必须为字母或数字
    function firstCharIdentify( obj ) {
    var objval = obj.value;
    var re=/^[0-9a-zA-Z]/i;
    var r = objval.match(re);
    if ( r == null ) {
    alert( '输入格式错误,首字符必须为字母或数字!' );
    obj.value = '';
    return false;
    }
    return true;
    } //检查文本框中输入的内容的长度,汉字按两个字符算
    function userNameLenIdentify( obj ) {
    //alert(  obj.value.replace(/[^\x00-\xff]/g,"**").length );
    if ( obj.value.replace(/[^\x00-\xff]/g,"**").length  >= 2 && obj.value.replace(/[^\x00-\xff]/g,"**").length  <= 100 ) {
    return true;
    } else {
    alert( '输入的长度必须在2-100个字符之间!' );
    return false;
    }
    } //去除左边的空格。
    function LTrim(str)
    {
    var whitespace = new String(" \t\n\r");
    var s = new String(str);
    if (whitespace.indexOf(s.charAt(0)) != -1)
    {
    var j=0, i = s.length;
    while (j < i && whitespace.indexOf(s.charAt(j)) != -1)
    {
    j++;
    }
    s = s.substring(j, i);
    }
    return s;
    } //去除右边的空格。
    function RTrim(str)
    {
    var whitespace = new String(" \t\n\r");
    var s = new String(str);
    if (whitespace.indexOf(s.charAt(s.length-1)) != -1)
    {
    var i = s.length - 1;
    while (i >= 0 && whitespace.indexOf(s.charAt(i)) != -1)
    {
    i--;
    }
    s = s.substring(0, i+1);
    }
    return s;
    } //去除前后空格。
    function Trim(str)
    {
    return RTrim(LTrim(str));
    }
      

  17.   

    //验证输入框是否为空。
    function IsEmpty(obj)
    {
    var str = obj.value;
    if(Trim(str)=="")
    {
    alert("用户名不能为空。");        
    if(obj.disabled==false && obj.readOnly==false)
    {
    obj.focus();
    }
    }
    } //value中不能出现空格
    function isSpace(obj){
    var str = obj.value;
    if(str.indexOf(' ')>0){
    alert('输入格式错误,用户名当中不能有空格!');
    obj.focus();
    return false;
    }
    return true;
    }没发完,不知道是哪儿不让我过