<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标签里面了 却不行了 不知道是哪里出错了 请指点! 以下是出错代码
<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 () {
$(".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标签里面了 却不行了 不知道是哪里出错了 请指点! 以下是出错代码
<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>
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>
类似于这样试试
<input type="text" rg="^\d{1}$" id="test" onblur="check()">
<input type="text" rg="^\d{2}$" id="Text1" onblur="check()">如果我有2个input呢 多个呢 就不行了
<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>
<input type="text" rg="^[a-z]{4}$" >
<input type="text" rg="^[A-Z]{3}$" >
<input type="text" />这样就不行了 我那个html:<input type="text" rg="^[a-z]{4}$" >
这样的东西是实时生成的
这样可以吗? 是不是生成一次 要init()一下 岂不是很麻烦
<script src="../JS/jquery-1.4.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function () {
$("#btn_add").click(function () {
$("#aa").append("<input type='text' rg='^\d{2,3}$' />");
init();
});
function init() {
var inputs = document.getElementsByTagName("input");
for (var i = 0; i < inputs.length; i++) {
if (inputs[i].type == "text" && inputs[i].getAttribute("rg") != null) {
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>
<form id="form1" runat="server">
<div>
<input type="text" rg="^\d{2,3}$" />
<input type="text" rg="^[a-z]{4}$" />
<input type="text" rg="^[A-Z]{3}$" />
<input type="text" />
<div id="aa">
</div>
<input type="button" id="btn_add" />
</div>
</form>
</body>
</html>
这个怎么解释呢