开发总结之Javascript

本文总结了在ASP.NET中使用JavaScript进行TextBox验证、CheckBoxList判断、DropDownList操作、表格行列添加等实用技巧,并解释了setTimeout与setInterval的区别。

  本文是我在平时工作中所遇到的javascript方面的一些知识总结,主要针对在asp.net中使用脚本
1.TextBox的验证(这个其实算是正则的内容了)

<!--用正则表达式限制只能输入中文-->  
<input type="text" onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')"   onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\u4E00-\u9FA5]/g,''))"  />


<!--用正则表达式限制只能输入数字-->  
<input type="text" onkeyup="value=value.replace([^\d]/g,'') "  onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"  />

<!--用正则表达式限制只能输入数字和英文-->  
<input type="text" onkeyup="value=value.replace([\W]/g,'') "   onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"  />

 

 

<!--驗證數字和小數點-->
<input   type="text"  ID="Text1"   onkeyup="value=value.replace(/[^\d|^\.]/g,'')"   onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d|^\.]/g,''))">

 

//去空格
function trim(str)
{
   
return str.replace(/(^\s*)|(\s*$)/g,"");    
}
 


 其中 onbeforepaste属性是防止复制粘贴

//validate email
function IsMail(mail) 

    
var patrn = /^w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$/
    
return patrn.test(mail);
}


//validate url
function IsURL(url)
{
     
var regexp = /^http://[A-Za-z0-9]+.[A-Za-z0-9]+[/=?%-&_~`@[]':+!]*([^<>""])*$/;
     return regexp.test(url);



2. 判断CheckBoxList有没有选择


//id为CheckBoxList控件的ID
//
return true 说明没有选择
function checkLocCate(id)
{
    
var status=true;
    
var inputs=document.getElementById(id).getElementsByTagName("input");
    
for(var i=0;i<inputs.length;i++)
    
{
        
if(inputs[i].type=="checkbox" && inputs[i].checked==true)
        
{
            status
=false;
        }

    }

    
return status;
}


3.为DropDownList添加项

//id为DropDownList控件的ID
function addOptions(id)
{
    
var ddl=document.getElementById(id);
    
//将DropDownList的内容清空
    ddl.options.length=0;
    
for(var i=0;i<10;i++)
    
{
        
//Options的第一个参数为Text值,第二个参数为Value值
        ddl.add(new Option(i,i));
    }
 
}


4.为table添加行和列
  在javascript中添加行和列是通过insertRow和inertCell来实现的,看下面一个例子

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    
<title>AddRow</title>
    
<style type="text/css">
        .BlackBorder
{}{ background-color:#000; font-size:12px;}
        .BlackBorder tr
{}{ background-color:#fff;}
    
</style>
</head>
<body>
    
<form id="form1" runat="server">
    
<div>
        
<table width="400px">
            
<tr>
                
<td>
                    姓名:
                    
<input id="txtName" style="width:100px;" />  
                    年龄:
                    
<input id="txtAge" style="width:50px;"  />  
                    
<input id="txtAdd" type="button" value="新增" onclick="return insertRow()"/>
                
</td>
            
</tr>
            
<tr>
                
<td>
                    
<table id="tMemInfo" width="100%" class="BlackBorder" cellpadding="0" cellspacing="1" border="0" style="padding-left:5px;">
                        
<tr style=" background-color:#E0E0E0;">
                            
<td style="width:150px;">
                                姓名
                            
</td>
                            
<td style="width:100px;">
                                年龄
                            
</td>
                            
<td>
                                管理
                            
</td>
                        
</tr>
                    
</table>
                
</td>
            
</tr>
        
</table>
        
    
</div>
    
</form>
    
<script type="text/javascript">

function insertRow()
{
    
    
var name=document.getElementById("txtName").value;
    
var age=document.getElementById("txtAge").value;
    
    
if(name=="")
    
{
        alert(
"請填寫姓名");
        document.getElementById(
"txtName").focus();
        
return false;
    }

    
if(age=="")
    
{
        alert(
"請填寫年龄");
        document.getElementById(
"txtAge").focus();
        
return false;
    }


    
var myTable=document.getElementById("tMemInfo");
    
var objRow = myTable.insertRow(1); 
    
var objCell = objRow.insertCell(0);  
    objCell.innerHTML
= "<input type='text' style='width:100px;' style='display:none'/><span >"+name+"</span>";
    
var objCell = objRow.insertCell(1); 
    objCell.innerHTML
="<input type='text' style='width:50px;'  style='display:none'/><span >"+age+"</span>";
    
var objCell = objRow.insertCell(2);
    objCell.innerHTML
=" <input type='button' value='取消' onclick='cancel()' style='display:none'/> "+
                      
" <input type='button' value='儲存' onclick='save()' style='display:none'/>" +
                      
" <input type='button' value='修改' onclick='edit()'  />" +
                      
" <input type='button' value='删除' onclick='deleteRow()' />";
                      
    document.getElementById(
"txtName").value="";
    document.getElementById(
"txtAge").value="";
    document.getElementById(
"txtName").focus();
}


//删除行
function deleteRow()
{
    
var myTable=document.getElementById("tMemInfo");
    
var trList =myTable.getElementsByTagName("tr");
    
var row = 0;
    
for(var i = 0; i < trList.length ; i++)
    
{
        
if(event.srcElement.parentNode.parentNode == trList[i])
            row 
= i;
    }

    myTable.deleteRow(row);
}


function cancel()
{
    
var e=event.srcElement.parentElement.parentElement;
    e.childNodes[
0].childNodes[0].style.display="none";
    e.childNodes[
0].childNodes[1].style.display="";
    e.childNodes[
1].childNodes[0].style.display="none";
    e.childNodes[
1].childNodes[1].style.display="";
    e.childNodes[
2].childNodes[0].style.display="none";
    e.childNodes[
2].childNodes[2].style.display="none";
    e.childNodes[
2].childNodes[4].style.display="";
    e.childNodes[
2].childNodes[6].style.display="";
    
}


function save()
{
    
var e=event.srcElement.parentElement.parentElement;
    e.childNodes[
0].childNodes[0].style.display="none";
    e.childNodes[
0].childNodes[1].style.display="";
    e.childNodes[
1].childNodes[0].style.display="none";
    e.childNodes[
1].childNodes[1].style.display="";
    e.childNodes[
2].childNodes[0].style.display="none";
    e.childNodes[
2].childNodes[2].style.display="none";
    e.childNodes[
2].childNodes[4].style.display="";
    e.childNodes[
2].childNodes[6].style.display="";
    e.childNodes[
0].childNodes[1].innerHTML=e.childNodes[0].childNodes[0].value;
    e.childNodes[
1].childNodes[1].innerHTML=e.childNodes[1].childNodes[0].value;
}


function edit()
{
    
var e=event.srcElement.parentElement.parentElement;
    e.childNodes[
0].childNodes[0].style.display="";
    e.childNodes[
0].childNodes[1].style.display="none";
    e.childNodes[
1].childNodes[0].style.display="";
    e.childNodes[
1].childNodes[1].style.display="none";
    e.childNodes[
2].childNodes[0].style.display="";
    e.childNodes[
2].childNodes[2].style.display="";
    e.childNodes[
2].childNodes[4].style.display="none";
    e.childNodes[
2].childNodes[6].style.display="none";
    e.childNodes[
0].childNodes[0].value=e.childNodes[0].childNodes[1].innerHTML;
    e.childNodes[
1].childNodes[0].value=e.childNodes[1].childNodes[1].innerHTML;
}

</script>
</body>
</html>


5 在javascript中setTimeOut和setInterval的區別

//1秒钟执行一次函数1
window.setInterval("函數1",1000);

//延迟1秒钟执行函数2
window.setTiemout("函數2",1000);


 

转载于:https://www.cnblogs.com/linpengfeixgu/articles/1239728.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值