js遇到过的问题
来源:互联网 发布:mac os xmanager 编辑:程序博客网 时间:2024/05/16 16:55
1)用js规定输入框只能填写大写字母或是数字
示例:
<script type="text/javascript">var re=/^[A-Z0-9]*$/;var str = '';function pCodeChange(obj){if(re.test(obj.value) == false){obj.value = str;alert("只能填数字或大写字母");} else {str = obj.value;}}</script><p><label>运行号:</label><input type="text" id="provisioningCode" name="provisioningcode" value="${deviceInfoView.provisioningcode}" class="request" maxlength="64" onpropertychange="pCodeChange(this)"/></p>
其中onpropertychange事件,顾名思义,就是property(属性)change(改变)的时候出发该事件。这是ie专有的,如果想兼容其他浏览器,有一个类似的事件oninput。
onpropertychange事件会在设置disable=true的时候失效,而且,触发对象的任何属性改变时onpropertychange事件都会被触发。
oninput只是触发对象的value改变时才会被触发。
oninput的短板:如果触发对象的value值通过js代码改变时,oninput事件不会被触发,还有就是在下拉列表框中改变value值时不会被触发。
关于onchange事件:
它有两个弊端:
一:只有在触发对象失去焦点的时候才会触发该事件
二:如果得用javascript改变触发对象的属性时,并不能触发onchange事件,oninput事件也有这个问题。
2)ipv4以及ipv6格式的地址格式校验
a)js方式的ipv4地址格式校验
function queryDev(ip){ var exp=/^(\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])\.(\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])$/; var flag = ip.match(exp); if(flag != undefined && flag!=""){ return true; } else { return false; } } <input type="text" name="iporname" id="iporname" style="width:80px;" value="" /> <input name="Submit" type="button" value="验证IPV4" onclick=alert(queryDev(iporname.value)) style="width:80px"/>
b)js方式的ipv6地址格式校验
function queryDev(ipvalue){ var isIpv6 = false; if(ipvalue.match(/:/g).length<=7&&/::/.test(ipvalue)?/^([\da-f]{1,4}(:|::)){1,6}[\da-f]{1,4}$/i.test(ipvalue):/^([\da-f]{1,4}:){7}[\da-f]{1,4}$/i.test(ipvalue)){ isIpv6 = true; } if(isIpv6){ return true; } else { return false; } } <input type="text" name="iporname" id="iporname" style="width:80px;" value="" /> <input name="Submit" type="button" value="验证IPV6" onclick=alert(queryDev(iporname.value)) style="width:80px"/>
c)java方式校验ipv4与ipv6地址格式
public static boolean validata_ipv6(String host){ InetAddress addressIpv6 = null; Inet6Address IPv6 = null; Inet4Address Ipv4 = null; try { addressIpv6 = InetAddress.getByName(host); } catch (UnknownHostException e) { e.printStackTrace();return false; } if(addressIpv6 instanceof Inet6Address){ IPv6 = (Inet6Address) addressIpv6; return true; } if (addressIpv6 instanceof Inet4Address) {return false;} return true; } IPV4: /*** *@param ip * @return */ public static boolean validata_ipv4(String host){ InetAddress addressIpv4 = null; Inet6Address IPv6 = null; Inet4Address Ipv4 = null; try { addressIpv4 = InetAddress.getByName(host); } catch (UnknownHostException e) { e.printStackTrace(); return false; } if(addressIpv4 instanceof Inet6Address){ IPv6 = (Inet6Address) addressIpv4; return false; } if(addressIpv4 instanceof Inet4Address){ IPv4 = (Inet4Address) addressIpv4; return true;} return true; }
<script type="text/javascript">checkedIds="";//翻页保存选中的id function changeIds(){ var oneches=document.getElementsByName("checkbox"); for(var i=0;i<oneches.length;i++){ if(oneches[i].checked==true){ //避免重复累计id (不含该id时进行累加) if(checkedIds.indexOf(oneches[i].value)==-1){ checkedIds=checkedIds+oneches[i].value+","; } } if(oneches[i].checked==false){ //取消复选框时 含有该id时将id从全局变量中去除 if(checkedIds.indexOf(oneches[i].value)!=-1){ checkedIds=checkedIds.replace((oneches[i].value+","),""); } } } }function getChecked(){ var oneches=document.getElementsByName("checkbox"); for(var i=0;i<oneches.length;i++){ //全局变量中含有id,则该复选框选中 if(checkedIds.indexOf(oneches[i].value)!=-1){ oneches[i].checked=true; } } }</script>
注:以上代码均来自网络
0 0
- js遇到过的问题
- Js开发中遇到过的问题
- Js开发中遇到过的问题
- Node JS 中遇到过的问题
- 遇到过的问题
- 遇到过的问题
- 平时遇到过的问题
- 遇到过的maven问题
- IIS遇到过的问题
- 校招中遇到过的问题
- rsync 遇到过的问题
- Caffe 遇到过的问题
- gradle遇到过的问题
- 记录遇到过的问题
- Hibernate遇到过的问题
- js遇到的问题
- js遇到的问题
- 面试的时候遇到过的问题
- J2SE总结(一)-------容器
- jquery.validate.js demo
- RMAN 命令详解
- Java核心类库——IO原理和用法
- shell字符串比较大小
- js遇到过的问题
- redis-2.8.12安装部署
- MySQL for Mac 安装和基本操作(包含后期的环境变量设置)
- Oracle 不同故障的恢复方案
- 通过/sys强制设备绑定驱动
- php排序
- 微信支付java版本之JSAPI支付+发送模板消息
- 学习md5
- .NET编程和SQL Server ——Sql Server 与CLR集成