开发总结—Javascript篇
本文是我在平时工作中所遇到的javascript方面的一些知识总结,主要针对在asp.net中使用脚本。
1.TextBox的验证(这个其实算是正则的内容了)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 <!--用正则表达式限制只能输入中文--> <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,''))">
上面代码中 onbeforepaste属性是防止复制粘贴
判断CheckBoxList有没有选择
1 2 3 4 5 6 7 8 9 10 11 12 //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添加项
1 2 3 4 5 6 7 8 9 10 //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来实现的,看下面一个例子
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 <html xmlns="http://www.w3.org/1999/xhtml"> <head id="Head1" 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="form2" 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 2 3 4 5 //1秒钟执行一次函数1 window.setInterval("函數1", 1000); //延迟1秒钟执行函数2 window.setTiemout("函數2", 1000);
6 js获取字符串的长度
1 var str = str.replace(/[^\x00-\xff]/g, "**").length;
7 javascript中的一些验证
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 //去空格 function trim(str) { return str.replace(/(^\s*)|(\s*$)/g, ""); } //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); }
不断更新中……