+ -
当前位置:首页 → 问答吧 → 求一个正则表达,实现如下功能

求一个正则表达,实现如下功能

时间:2011-11-25

来源:互联网

<input name="username" type="text" ></input>
想实现 username 中只能(而且必须)输入 四位数字(只能取 2009、2010、2011中的一项)和7个以下中文。
其他任何字符坚决不能输入,
例如:2011张三,2010李四,2009王五

怎么实现当键盘输入的同事就能起到验证的作用呢?想使用正则表达式实现,望高手指点!!谢谢!!

作者: TrimVal   发布时间: 2011-11-25

onpropertychange事件 FF下要用oninput

作者: ifandui   发布时间: 2011-11-25

一个正则表达式是做不到输入的同时检验的,参考这个帖子吧

http://topic.csdn.net/u/20111113/15/104066c8-5c0f-43b3-ac3c-e34a3438f7a2.html

作者: p2227   发布时间: 2011-11-25

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

作者: ifandui   发布时间: 2011-11-25

引用 3 楼 ifandui 的回复:
^(20(09|10|11){1}[\u4e00-\u9fa5]{0,7})$


能否给出个完整的代码?

作者: TrimVal   发布时间: 2011-11-25

引用 2 楼 p2227 的回复:
一个正则表达式是做不到输入的同时检验的,参考这个帖子吧

http://topic.csdn.net/u/20111113/15/104066c8-5c0f-43b3-ac3c-e34a3438f7a2.html


可以在失去光标的时候进行验证也可以。

作者: TrimVal   发布时间: 2011-11-25

JScript code
$("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;
        }        
    });

作者: ifandui   发布时间: 2011-11-25

引用 5 楼 trimval 的回复:

引用 2 楼 p2227 的回复:
一个正则表达式是做不到输入的同时检验的,参考这个帖子吧

http://topic.csdn.net/u/20111113/15/104066c8-5c0f-43b3-ac3c-e34a3438f7a2.html


可以在失去光标的时候进行验证也可以。
早说,这个就容易多了,不过既然6楼有了我就不写了,如果我写就是偏好用RegExp.test(),就这个差别。

作者: p2227   发布时间: 2011-11-25

引用 6 楼 ifandui 的回复:
JScript code

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


非常感谢!

作者: TrimVal   发布时间: 2011-11-25

热门下载

更多