<input name="username" type="text" ></input>
想实现 username 中只能(而且必须)输入 四位数字(只能取 2009、2010、2011中的一项)和7个以下中文。
其他任何字符坚决不能输入,
例如:2011张三,2010李四,2009王五怎么实现当键盘输入的同事就能起到验证的作用呢?想使用正则表达式实现,望高手指点!!谢谢!!

解决方案 »

  1.   

    onpropertychange事件 FF下要用oninput
      

  2.   

    一个正则表达式是做不到输入的同时检验的,参考这个帖子吧http://topic.csdn.net/u/20111113/15/104066c8-5c0f-43b3-ac3c-e34a3438f7a2.html
      

  3.   

    ^(20(09|10|11){1}[\u4e00-\u9fa5]{0,7})$
      

  4.   

    $("input[name='username']").on("blur",function(){
    var reg=/^(20(09|10|11){1}[\u4e00-\u9fa5]{0,7})$/;
    if(!this.value.match(reg)){
    alert("不合法");
    this.focus();
    return false;
    }
    });
      

  5.   

    早说,这个就容易多了,不过既然6楼有了我就不写了,如果我写就是偏好用RegExp.test(),就这个差别。
      

  6.   


    把你的正则改一下:
    var reg=/^20(?:09|10|11)[\u4e00-\u9fa5]{1,7}$/;