Javascript开发相关知识总结

开发 前端
本文是作者在平时工作中所做的javascript方面的一些知识总结,主要针对在asp.net中使用脚本。
1.TextBox的验证(这个其实算是正则的内容了)
<!--用正则表达式限制只能输入中文-->  
<input type="text" onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')"   onbeforepa
ste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\u4E00-\u9F
A5]/g,''))" />
<!--用正则表达式限制只能输入数字-->  
<input type="text" onkeyup="value=value.replace([^\d]/g,'') "  onbeforepaste="clipboar
dData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))" />
<!--用正则表达式限制只能输入数字和英文-->  
<input type="text" onkeyup="value=value.replace([\W]/g,'') "   onbeforepaste="clipboar
dData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))" />
<!--驗證數字和小數點-->
<input   type="text"  ID="Text1"   onkeyup="value=value.replace(/[^\d|^\.]/g,'')"   o
nbeforepaste="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

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);

6.js获取字符串的长度

var str= str.replace(/[^\x00-\xff]/g, "**").length;

【编辑推荐】

  1. Javascript面向对象基础以及接口和继承类的实现
  2. 使用JavaScript更新UpdatePanel
  3. JavaScript常用的2种定义类的方式
责任编辑:杨鹏飞 来源: 博客园
相关推荐

2010-03-18 14:24:31

云计算

2015-11-16 10:34:19

Linux动态库总结

2016-12-21 09:55:55

面试JavaScrip总结

2009-08-07 13:30:20

C# Excel导入

2011-08-15 10:35:43

iPhone开发Atomicnonatomic

2011-08-15 10:45:11

iPhone开发delegate

2021-01-04 09:50:09

前端数据技术

2017-12-04 12:29:15

前端JavaScript性能优化

2021-08-23 10:12:41

鸿蒙HarmonyOS应用

2013-04-09 16:04:06

iOS开发SQLite知识总结

2013-01-06 09:52:43

SQLite

2009-12-29 15:14:16

WPF开发工作站

2022-08-16 15:17:37

机器学习算法模型

2011-07-29 11:32:16

路由PIM

2014-11-05 10:37:44

Windows Pho数据库

2009-12-29 17:41:29

Silverlight

2015-07-06 09:52:40

2011-08-23 14:14:02

Oracle EBS二

2020-11-05 18:53:15

JavaScript开发前端

2011-07-29 11:29:00

MLSMLS-SEMLS-RP
点赞
收藏

51CTO技术栈公众号