日期:2014-05-16  浏览次数:20351 次

文本框中输入固定位数的字符串(字母+数字)后加逗号,求大侠帮助~
如题:下面代码是类似于在线支付时输入固定4位卡号后自动加空格,我想把正则的验证改成:输入固定10位字符串(大写字母+数字 的组合)后自动加逗号,求大侠帮忙!!!


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>

    <title>test</title>
    <script type="text/javascript">
        window.onload =function() {
            document.getElementById("test").onkeyup =function() {
                this.value =this.value.replace(/\s/g,' ').replace(/(\d{4})(?=\d)/g,"$1 ");;
            };
        };
    </script>
</head>
<body>
    <input type="text" id="test"/>
</body>
</html> 

------解决方案--------------------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
 
    <title>test</title>
    <script type="text/javascript">
        window.onload =function() {
            document.getElementById("test").onkeyup =function() {
                this.value =this.value.replace(/\s/g,' ').replace(/([0-9a-zA-Z]{10})(?=\d)/g,"$1 ");;
            };
        };
    </script>
</head>
<body>
    <input type="text" id="test"/>
</body>
</html> 

------解决方案--------------------

window.onload =function() {
document.getElementById("test").onkeyup =function() {
this.value =this.value.replace(/[^0-9a-zA-Z]/g,'').replace(/(.{10})(?=.)/g,"$1,");
};
};