<script>
//e为 event o为input对象 i 为 第几个输入框
function ipVali(e,o,i) //48-57 96-105 223 255 key Code== 8 退格键
{ //alert(e.keyCode)
// 96-105 小键盘数字键 48-57大键盘数字键 8 退格键 46 del键 16 shift键 116 刷新 190 大键盘的点 110小键盘的点 9 tab
var inputs = o.parentNode.getElementsByTagName("input");
if(e.keyCode == 9 || (e.keyCode >= 96 && e.keyCode <= 105) ||(e.keyCode >= 48 && e.keyCode <= 57) || e.keyCode==8 || e.keyCode==46|| e.keyCode==116 || e.keyCode == 16)
{
if(e.shiftKey && e.keyCode >= 48 && e.keyCode <= 57)
{
if(e.keyCode != 56)
return false;
}
if(e.keyCode == 8 || e.keyCode == 9)
{
return true;
}
if(o.value.length >= 3 && getRangeByObj(o) == '')
{
if(null != inputs[i+1])
{
inputs[i+1].focus();
}
}
}
else if(190 == e.keyCode || 110 == e.keyCode) //输入的是点
{
if(o.value == '')
{
for(var j=0; j<=i; j++)
{
//alert(inputs[j].value);
if(inputs[j].value == '')
{
inputs[j].value="*";
}
}
}
inputs[i+1].focus();
return false;
}
else
{
return false;
}
}
function ipVali2(o,i)
{
if(o.value != '')
{
if(i == 1) //ip地址的第一个字段
{
if(o.value > 223)
{
o.value = 223;
}
}
else
{
if(o.value > 255)
{
o.value = 255;
}
}
}
else
{
o.value = "*";
}
}
function getRangeByObj(obj)
{
var word='';
if (document.selection){
o=document.selection.createRange();
if(o.text.length>0)word=o.text;
}else{
p1=obj.selectionStart;
p2=obj.selectionEnd;
if (p1||p1=='0'){
if(p1!=p2)word=obj.value.substring(p1,p2);
}
}
return word;
}
</script>
<span class="ipInput">
<input onkeydown="return ipVali(event,this,0);" onblur="return ipVali2(this,1);" type="text" maxlength="3" size="3"/>.
<input onkeydown="return ipVali(event,this,1);" onblur="return ipVali2(this,2);" type="text" maxlength="3" size="3"/>.
<input onkeydown="return ipVali(event,this,2);" onblur="return ipVali2(this,2);" type="text" maxlength="3" size="3"/>.
<input onkeydown="return ipVali(event,this,3);" onblur="return ipVali2(this,2);" type="text" maxlength="3" size="3"/>
</span>
详细解决方案
js跟html模拟系统的ip地址输入框
热度:23 发布时间:2012-07-01 13:15:00.0
相关解决方案
- JSP 页面乱码 页面起首已设置 contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"
- html js不运行有关问题
- <html:text>property的有关问题
- 关于<html:text>相关的有关问题
- 简单计算器(html+js),该怎么解决
- HTML 小疑点,哪位高手解决 给哪位高手分
- 嵌入JSP中的CSS显示效果和在 HTML 中的不一样.为什么.该怎么解决
- struts1 中<html:checkbox>标签的value值怎么动态赋值
- 新人求问,J2EE方向,html,css,javascript,vml要学到什么程度?解决思路
- :前台和后台开发有啥区别?还有css、html、ajax、js、jquery都有什么区别
- struts <html:file> 怎么让前面的框消失,先谢过了
- =Html.TextAreaFor的文本区域大小如何设置
- 正则表达式 提取 html 标签的内容,该如何解决
- @Html.CkEditor,该怎么处理
- string msg = (string)html.ViewData["Message"];该如何处理
- html password editbox 编码有关问题
- @Html.TextBoxFor(a => a.Title 上边有红线,说异常
- 关于伪静态,怎么配置.html
- MVC中,Html.DropDownListFor怎么绑定数据
- 为何FCKeditor会在自动生成<html>标签呢
- MVC 中得 Html.ActionLink 怎么linkText显示图片标记
- HTML DOM setTimeout() 跟 setInterval() 的区别 ?———急——
- 怎么自动执行<a href="document.html" target="parent">my document</a> 呢
- MVC2 怎么实现伪静态 .html
- MVC中@Html.TextBox怎么使用
- CSDN 你是怎么做到的呢 html?xxx
- 问一个关于去除<html>标签的有关问题
- webserver的“text/html;charset=utf-8”,但应为“text/xml”异常
- mvc @using (Html.BeginForm()),该怎么处理
- @Html.TextBoxfor的有关问题