各位好
近日在JS页面校验开发中,遇到一个对对多个区间类文本框,判断是否连续喝重叠的问题,请各位大虾帮忙看下,有什么高招,先谢了~
需要达到的效果:
在页面上有以下几组年龄段起始和终止年龄段的文本框,需要校验:
(1)10~50之间的区间是否都覆盖到了(比如:夏利中31~34就没被覆盖)。
(2)各个年龄段之间是否有交替(比如:年龄段1和2就在15~20岁之间交替)
要校验的输入对象年龄段1: 10~20年龄段2: 15~30年龄段3: 35~50
近日在JS页面校验开发中,遇到一个对对多个区间类文本框,判断是否连续喝重叠的问题,请各位大虾帮忙看下,有什么高招,先谢了~
需要达到的效果:
在页面上有以下几组年龄段起始和终止年龄段的文本框,需要校验:
(1)10~50之间的区间是否都覆盖到了(比如:夏利中31~34就没被覆盖)。
(2)各个年龄段之间是否有交替(比如:年龄段1和2就在15~20岁之间交替)
要校验的输入对象年龄段1: 10~20年龄段2: 15~30年龄段3: 35~50
解决方案 »
- 一个困扰我很才时间的问题js中的onchange
- showModalDialog页面怎么得到子窗体传过来的JSON数组呢?
- 郁闷了一个星期的问题!!!!!求达人帮忙解决!100分,先到先得
- 怎么判断同时按了多个键
- 应该是一个很简单的问题,在线等!
- 求javascript函数:单击IE页面中的文字1,则1变成0,继续单击0,则0又变回1,即单击左键,实现0和1的交互替换
- 求一段JS定位滚动条代码
- 能否设置,在vml中文字不被矩形遮盖?
- WScript.Run不能运行
- 求助 ,为什么PUSH进去会报错
- Extjs的grid如何锁定列
- 请教高手:如何在chrome中打开新页面?页面的url是在点击之后动态生成的。
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script type="text/javascript">
function addage(){
var div=document.getElementById("test");
var input=document.createElement("input");
input.type="text";
input.onblur=check;
div.appendChild(input);
var br=document.createElement("br");
div.appendChild(br);
}
function check(){
var value=this.value;
var reg=/^[1-9]\d*~[1-9]\d*$/;
if(!reg.test(value)){
alert("格式不对");
this.value="";
}
var div=document.getElementById("test");
var text=div.getElementsByTagName("input");
var target=this.value.split("~");
target[0]=parseInt(target[0]);
target[1]=parseInt(target[1]);
if(target[0]>target[1]){
alert("范围不对");
this.value="";
return;
}
for(var i=0;i<text.length;i++){
if(this!=text[i]){
var range=text[i].value.split("~");
range[0]=parseInt(range[0]);
range[1]=parseInt(range[1]);
if(target[0]<=range[1]&&target[0]>=range[0]){
alert(target[0]+"与第"+(i+1)+"个年龄段交替");
this.value="";
}else if(target[1]<=range[1]&&target[1]>=range[0]){
alert(target[1]+"与第"+(i+1)+"个年龄段交替");
this.value="";
}else if(target[0]<range[0]&&target[1]>range[1]){
alert("包围了第"+(i+1)+"个年龄段");
this.value="";
}
}
}
}
function checks(){
var t=[];
var div=document.getElementById("test");
var text=div.getElementsByTagName("input");
for(var i=0;i<text.length;i++){
var range=text[i].value.split("~");
t.push(range[0]);
t.push(range[1]);
}
t.sort(asc);
for(var i=2;i<t.length;i=i+2){
if(t[i]-t[i-1]>1){
alert(t[i-1]+"到"+t[i]+"缺少值");
return;
}
}
}
function asc(a,b){
return a-b;
}
</script>
</head><body>
<div id="test">
</div>
<input type="button" value="增加年龄段" onclick="addage()"><br/>
<input type="button" value="校验" onclick="checks()">
</body>
</html>
貌似只能挨个测啊 这样试试 等等高手 哈