首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

js的正则有关问题

2012-08-26 
js的正则问题HTML codescript srcjs/jquery-1.7.2.min.js typetext/javascript/scriptscript t

js的正则问题

HTML code
<script src="js/jquery-1.7.2.min.js" type="text/javascript"></script><script type="text/javascript">    $(function () {        $(".pd").blur(function () {            var txt = $(this).val();            var reg = /^\d{1}$/;            if (!reg.test(txt)) {                $(this).val("");            }        });    })</script> <form id="form1" runat="server">    <div>        <input type="text" class="pd" />    </div>    </form>
这样的正则是可行的 但是我想写个公用的正则方法 正则公式我直接绑定在input标签里面了 却不行了 不知道是哪里出错了 请指点! 以下是出错代码

HTML code
<script src="js/jquery-1.7.2.min.js" type="text/javascript"></script><script type="text/javascript">    $(function () {        $(".pd").blur(function () {            var txt = $(this).val();            //var reg = $(this).attr("rg");            if (!reg.test(txt)) {                $(this).val("");            }            else {                alert(1);            }        });    })</script><div>        <input type="text" class="pd" rg="/^\d{1}$/" />        <input type="text" class="pd" rg='/^\d{1}\w$/' />        <input type="text" class="pd" rg='/^\d{2}$/' />        <input type="text" class="pd" rg='/^\d{3}$/' />    </div>


[解决办法]
<script type="text/javascript">
function check(){
var input=document.getElementById("test");
var reg=input.getAttribute("rg");
var value=input.value;
reg=new RegExp(reg);
alert(reg.test(value));
}
</script>
</head>

<body>
<input type="text" rg="^\d{2,3}$" id="test" onblur="check()">
</body>
</html>
类似于这样试试
[解决办法]
<title>无标题文档</title>
<script type="text/javascript">
function init(){
var inputs=document.getElementsByTagName("input");
for(var i=0;i<inputs.length;i++){
if(inputs[i].type=="text"){
inputs[i].onblur=check;
}
}
}
function check(){
var reg=this.getAttribute("rg");
var value=this.value;
reg=new RegExp(reg);
alert(reg.test(value));
}
window.onload=init;
</script>
</head>

<body>
<input type="text" rg="^\d{2,3}$" >
<input type="text" rg="^[a-z]{4}$" >
<input type="text" rg="^[A-Z]{3}$" >
</body>
</html>
[解决办法]
你在生成时指定onblur触发check函数试试

热点排行