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" οnclick=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" οnclick=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>
注:以上代码均来自网络