javascript浏览器兼容问题 本帖最后由 aamxy123 于 2010-09-13 14:31:38 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 市面上好像没有专门的书,上CSDN的跨浏览器开发专区去学学吧或者,可以自己看看 w3help.org 楼主alert(js_verify(txtIp.value))有问题。首先应该给<input type="text" name="txtIp" value="255.222.33.111" />一个id为txtIp.value,才能这样用! 楼主写js,最好遵循W3C的标准去写1、首先 这句话<script type="text/livescript">就写错了,应该是<script type="text/javascript">代码修改好了,如下<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><title>无标题文档</title></head><body><script type="text/javascript">/* isNumeric - 判断一个字符串中的内容是否全是数字字符,如果全是返回true,否则,返回false*/function isNumeric(str){ if (str.length == 0) { return false; } for(var i=0; i<str.length; i++) { /*字符串之间也可以比较大小,大小按首字符的编码值决定,如果首字符相等,则比较第二个字符,依次往后逐个比较。*/ if (str.charAt(i)<"0" || str.charAt(i)>"9") { return false; } } return true;}/* js_verify - 完全用JavaScript程序代码来判断一个字符串是否是合法的IP地址,如果是返回true,否则,返回false。*/function js_verify(addr){ alert(addr); //将ip地址的各段保存到一个数组中。 var part_addr = addr.split("."); if (part_addr.length != 4) { return false; } else { var part; //将part_addr中的元素索引号逐个赋值给part for (part in part_addr) { if(isNumeric(part_addr[part])) { /*如果字符串与数值比较,字符串将先转换成数值后再参与比较。即使在下面的语句中不调用parseInt方法对part_addr[part]进行转换,直接用part_addr[part]与0比较,也是可以的。*/ if (parseInt(part_addr[part])<0 || parseInt(part_addr[part])>255) { return false; } } else { return false; } } } return true;}/* jsreg_verify -结合JavaScript程序代码和正则表达式模式来判断一个字符串是否是合法的IP地址,如果是则返回true,否则,返回false。*/function jsreg_verify(addr){ var reg = /^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/; if (reg.exec(addr) != null) { //下面直接用符串与数值比较,字符串将先转换成数值 if (RegExp.$1<0 || RegExp.$1>255) return false; if (RegExp.$2<0 || RegExp.$2>255) return false; if (RegExp.$3<0 || RegExp.$3>255) return false; if (RegExp.$4<0 || RegExp.$4>255) return false; } else { return false; } return true;}/* reg_verify - 完全用正则表达式来判断一个字符串是否是合法的IP地址,如果是则返回true,否则,返回false。*/function reg_verify(addr){ var reg = /^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])(\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])){3}$/; if(addr.match(reg)) { return true; } else { return false; }}</script><p>输入要校验的ip地址:<input type="text" id="txtIp" value="255.222.33.111" /><br /><input type="button" id="btn1" value="测试JavaScript验证" onclick="alert(js_verify(document.getElementById('txtIp').value))" /><br /><input type="button" id="btn1" value="测试JavaScript和正则表示式验证" onclick="alert(jsreg_verify(document.getElementById('txtIp').value))" /><br /><input type="button" id="btn1" value="测试正则表示式验证测试" onclick="alert(reg_verify(document.getElementById('txtIp').value))" /><br /></p></body></html> livescript是DW生成没点好,那个 你是把input标签的name换成id了吧,不换的话 直接用getElementsByName()方法怎么无效果呢??手册上说 getElementsByName()也是支持W3C的 怎么将JQUERY插件分组啊 当选中复选框时,如何让其它表单失效? 为什么取不到对象 请叫高手 网页制作,javascript =========如何实现在关闭打印预览页面的同时将本页面也同时关闭? 一个关于tree节点选中的问题 请教高手!还是关于JS中onclick函数的参数传递的一个问题! 在线求助:修改注册表?急用 这个问题不太好说清…请老师看看 网页实现图片滚动 取数组中radio值的问题 Ext 怎样替换组件中store?
或者,可以自己看看 w3help.org
1、首先 这句话<script type="text/livescript">就写错了,应该是<script type="text/javascript">代码修改好了,如下<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head><body>
<script type="text/javascript">
/* isNumeric - 判断一个字符串中的内容是否全是数字字符,如果全是返回true,
否则,返回false*/
function isNumeric(str)
{
if (str.length == 0)
{
return false;
}
for(var i=0; i<str.length; i++)
{
/*字符串之间也可以比较大小,大小按首字符的编码值决定,如果首字符相等,则比较第二个字符,依次往后逐个比较。*/
if (str.charAt(i)<"0" || str.charAt(i)>"9")
{
return false;
}
}
return true;
}/* js_verify - 完全用JavaScript程序代码来判断一个字符串是否是合法的IP地址,
如果是返回true,否则,返回false。*/
function js_verify(addr)
{
alert(addr);
//将ip地址的各段保存到一个数组中。
var part_addr = addr.split(".");
if (part_addr.length != 4)
{
return false;
}
else
{
var part;
//将part_addr中的元素索引号逐个赋值给part
for (part in part_addr)
{
if(isNumeric(part_addr[part]))
{
/*如果字符串与数值比较,字符串将先转换成数值后再参与比较。即使在下面的语句中不调用parseInt方法对part_addr[part]进行转换,直接用part_addr[part]与0比较,也是可以的。*/
if (parseInt(part_addr[part])<0 || parseInt(part_addr[part])>255)
{
return false;
}
}
else
{
return false;
}
}
}
return true;
}/* jsreg_verify -结合JavaScript程序代码和正则表达式模式来判断一个字符串是否是合法的IP地址,如果是则返回true,否则,返回false。*/
function jsreg_verify(addr)
{
var reg = /^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/;
if (reg.exec(addr) != null)
{
//下面直接用符串与数值比较,字符串将先转换成数值
if (RegExp.$1<0 || RegExp.$1>255) return false;
if (RegExp.$2<0 || RegExp.$2>255) return false;
if (RegExp.$3<0 || RegExp.$3>255) return false;
if (RegExp.$4<0 || RegExp.$4>255) return false;
}
else
{
return false;
}
return true;
}/* reg_verify - 完全用正则表达式来判断一个字符串是否是合法的IP地址,
如果是则返回true,否则,返回false。*/
function reg_verify(addr)
{
var reg = /^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])(\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])){3}$/;
if(addr.match(reg))
{
return true;
}
else
{
return false;
}
}
</script>
<p>输入要校验的ip地址:<input type="text" id="txtIp" value="255.222.33.111" /><br />
<input type="button" id="btn1" value="测试JavaScript验证"
onclick="alert(js_verify(document.getElementById('txtIp').value))" /><br />
<input type="button" id="btn1" value="测试JavaScript和正则表示式验证"
onclick="alert(jsreg_verify(document.getElementById('txtIp').value))" /><br />
<input type="button" id="btn1" value="测试正则表示式验证测试"
onclick="alert(reg_verify(document.getElementById('txtIp').value))" /><br /></p></body>
</html>
livescript是DW生成没点好,那个 你是把input标签的name换成id了吧,不换的话 直接用getElementsByName()方法怎么无效果呢??手册上说 getElementsByName()也是支持W3C的