常用的Javascript綜合
常用的Javascript綜合瀏覽(981)|評論(18) 交流分類:Web前端技術|筆記分類: 未分類
/////////////////////////////////////////////////////////////////////////////////////////
一、驗證類
1、數字驗證內
1.1 整數
1.2 大于0的整數 (用于傳來的ID的驗證)
1.3 負整數的驗證
1.4 整數不能大于iMax
1.5 整數不能小于iMin
2、時間類
2.1 短時間,形如 (13:04:06)
2.2 短日期,形如 (2003-12-05)
2.3 長時間,形如 (2003-12-05 13:04:06)
2.4 只有年和月。形如(2003-05,或者2003-5)
2.5 只有小時和分鐘,形如(12:03)
3、表單類
3.1 所有的表單的值都不能為空
3.2 多行文本框的值不能為空。
3.3 多行文本框的值不能超過sMaxStrleng
3.4 多行文本框的值不能少于sMixStrleng
3.5 判斷單選框是否選擇。
3.6 判斷復選框是否選擇.
3.7 復選框的全選,多選,全不選,反選
3.8 文件上傳過程中判斷文件類型
4、字符類
4.1 判斷字符全部由a-Z或者是A-Z的字字母組成
4.2 判斷字符由字母和數字組成。
4.3 判斷字符由字母和數字,下劃線,點號組成.且開頭的只能是下劃線和字母
4.4 字符串替換函數.Replace();
5、瀏覽器類
5.1 判斷瀏覽器的類型
5.2 判斷ie的版本
5.3 判斷客戶端的分辨率
6、結合類
6.1 email的判斷。
6.2 手機號碼的驗證
6.3 身份證的驗證
二、功能類
1、時間與相關控件類
1.1 日歷
1.2 時間控件
1.3 萬年歷
1.4 顯示動態顯示時鐘效果(文本,如OA中時間)
1.5 顯示動態顯示時鐘效果 (圖像,像手表)
2、表單類
2.1 自動生成表單
2.2 動態添加,修改,刪除下拉框中的元素
2.3 可以輸入內容的下拉框
2.4 多行文本框中只能輸入iMax文字。如果多輸入了,自動減少到iMax個文字(多用于短信發送)
3、打印類
3.1 打印控件
4、事件類
4.1 屏蔽右鍵
4.2 屏蔽所有功能鍵
4.3 --> 和<-- F5 F11,F9,F1
4.4 屏蔽組合鍵ctrl+N
5、網頁設計類
5.1 連續滾動的文字,圖片(注意是連續的,兩段文字和圖片中沒有空白出現)
5.2 html編輯控件類
5.3 顏色選取框控件
5.4 下拉菜單
5.5 兩層或多層次的下拉菜單
5.6 仿IE菜單的按鈕。(效果如rongshuxa.com的導航欄目)
5.7 狀態欄,title欄的動態效果(例子很多,可以研究一下)
5.8 雙擊后,網頁自動滾屏
6、樹型結構。
7、無邊框效果的制作
8、連動下拉框技術
9、文本排序
10,畫圖類,含餅、柱、矢量貝滋曲線
11,操縱客戶端注冊表類
12,DIV層相關(拖拽、顯示、隱藏、移動、增加)
13,TABLAE相關(客戶端動態增加行列,模擬進度條,滾動列表等)
14,各種<object classid=>相關類,如播放器,flash與腳本互動等
16, 刷新/模擬無刷新 異步調用類(XMLHttp或iframe,frame)
/////////////////////////////////////////////////////////////////////////////////////////
1.讓文字不停地滾動
<MARQUEE>滾動文字</MARQUEE>
2.記錄并顯示網頁的最后修改時間
<script language=javascript>
document.write("最后更新時間: " + document.lastModified + "");
</script>
3.關閉當前窗口
<a href="#" onClick="javascript :window.close();return false;">關閉窗口</a>
4.5秒后關閉當前頁
<script language="javascript">
<!--
setTimeout('window.close();',5000);
-->
</script>
5.2秒后載入指定網頁
<head>
<meta http-equiv="refresh" content="2;URL=http://你的網址">
</head>
6.添加到收藏夾
<Script Language="javascript">
function bookmarkit(){
window.external.addFavorite('http://你的網址','你的網站名稱');
}
if (document.all){
document.write('<a href="#" onClick="bookmarkit()">加入收藏夾</a>');
}
</Script>
7.讓超鏈接不顯示下劃線
<style type="text/css">
<!- a:link{text-decoration:none}
a:hover{text-decoration:none}
a:visited{text-decoration:none}
->
</style>
8.禁止鼠標右鍵的動作
<script language="javascript">
function click() {
if (event.button==2||event.button==3){
alert('禁止鼠標右鍵');
}
}
document.onmousedown=click;
</script>
9.設置該頁為首頁
<span onclick="var strHref=window.location.href;this.style.behavior=
'url(#default#homepage)';
this.setHomePage('http://www.ccidnet.com');
" style="CURSOR: hand"><br>將本站設置為首頁</span>
10.節日倒計時
<Script Language="javascript">
var timedate= new Date("December 25,2008");
var times="圣誕節";
var now = new Date();
var date = timedate.getTime() - now.getTime();
var time = Math.floor(date / (1000 * 60 * 60 * 24));
if (time >= 0)
document.write("現在離"+times+"還有: "+time +"天")
</Script>
11.單擊按鈕打印出當前頁
<Script Language="javascript">
if (window.print) {
document.write('<form>' + '<input type=button name=print value="打印本頁" ' + 'onClick="javascript:window.print();"></form>');
}
</Script>
12.單擊按鈕‘另存為’當前頁
<input type="button" name="Button" value="保存本頁" onClick="document.all.button.ExecWB(4,1)">
<object id="button" width=0 height=0 classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2">
<embed width="0" height="0"></embed>
</object>
13.顯示系統當前日期
<script language=javascript>
var today=new Date();
function myDate(){
this.week=new Array();
this.week[0]="星期日";
this.week[1]="星期一";
this.week[2]="星期二";
this.week[3]="星期三";
this.week[4]="星期四";
this.week[5]="星期五";
this.week[6]="星期六";
this.getWeek=function(num){
return this.week[num];
}
}
var d = new myDate();
document.write( "<font color=##000000 style='font-size:9pt;font-family: 宋體'> ", today.getYear(),"年",today.getMonth()+1,"月",today.getDate(),"日", d.getWeek(today.getDay()),"</font>" );
</script>
14.不同時間段顯示不同問候語
<Script Language="javascript">
<!--
var text="";
day = new Date( );
time = day.getHours( );
if (( time>=0) && (time < 7 )){
text="夜貓子,要注意身體哦! "
}
if (( time >= 7 ) && (time < 12)){
text="今天天氣……哈哈哈,不去玩嗎?"
}
if (( time >= 12) && (time < 14)){
text="午休時間哦,朋友一定是不習慣午睡的吧?!"
}
if (( time >=14) && (time < 18)){
text="下午茶的時間到了,休息一下吧! "
}
if ((time >= 18) && (time <= 22)){
text="您又來了,可別和MM聊太久哦!"
}
if ((time >= 22) && (time < 24)){
text="很晚了哦,注意休息呀!"
}
document.write(text)
//--->
</Script>
15.水中倒影效果
<img id="reflect" src="你自己的圖片文件名" width="175" height="59">
<script language="javascript">
function f1() {
setInterval("mdiv.filters.wave.phase+=10",100);
}
if (document.all) {
document.write('<img id=mdiv src="'+document.all.reflect.src+'" style="filter:wave(strength=3,freq=3,phase=0,lightstrength=30) blur() flipv()">');
window.onload=f1
}
</script>
16.慢慢變大的窗口
<Script Language="javascript">
<!--
var Windowsheight=100;
var Windowswidth=100;
var numx=5;
function openwindow(thelocation){
temploc=thelocation;
if (!(window.resizeTo&&document.all)&&!(window.resizeTo&&document.getElementById)) {
window.open(thelocation);
return;
}
windowsize=window.open("","","scrollbars");
windowsize.moveTo(0,0);
windowsize.resizeTo(100,100);
tenumxt();
}
function tenumxt(){
if (Windowsheight>=screen.availHeight-3){
numx=0;
}
windowsize.resizeBy(5,numx);
Windowsheight+=5;
Windowswidth+=5;
if (Windowswidth>=screen.width-5) {
windowsize.location=temploc;
Windowsheight=100;
Windowswidth=100;
numx=5;
return;
}
setTimeout("tenumxt()",50);
}
//-->
</script>
<p><a href="javascript:openwindow('http://news.sohu.com')">進入</a>
17.改變IE地址欄的IE圖標
我們要先做一個16*16的icon(圖標文件),保存為index.ico。把這個圖標文件上傳到根目錄下,
并在首頁<head></head>之間加上如下代碼:
<head>
<link rel="Shortcut Icon" href="index.ico"/>
</head>
18:進入或者離開時顯示信息
設置body的 onLoad和onUnload事件
19:只能輸入數字
<script LANGUAGE="javascript">;
<!--
function check(){
if (document.form.tell.value==""){
alert("請輸入數字!");
document.form.tell.focus();
return false;
}else{
var Letters = "0123456789()+-";
for (i=0; i< document.form.tell.value.length; i++){
var CheckChar = document.form.tell.value.charAt(i);
if (Letters.indexOf(CheckChar) == -1){
alert("輸入的數字不正確!");
document.form.tell.focus();
return false;
}
}
}
}
//-->;
</script>
<form method="POST" name=form action="" onSubmit="return check();">
請輸入數字:<input type="text" name="tell" size="20">
<input type="submit" value="提交" name="B1">
</form>
20:email 合法性檢查
<script language="javascript">
function check()
{
var vv = document.all("email").value;
if(vv.length!=0)
{
if (vv.charAt(0)=="." ||
vv.charAt(0)=="@"||
vv.indexOf('@', 0) == -1 ||
vv.indexOf('.', 0) == -1 ||
vv.lastIndexOf("@")
==vv.length-1 ||
vv.lastIndexOf(".")
==vv.length-1)
{
alert("Email的格式不正確!");
document.all("email").focus();
return false;
}
}
else
{
alert("Email的不能為空!");
document.all("email").focus();
return false;
}
return false;
}
</script>
<input type="text" name="email">
<input type="button" onclick="check();" value="檢查email">
21:屏蔽 Ctrl+N、Shift+F10、F5刷新、退格鍵
<script language="javascript">
<!--
//屏蔽鼠標右鍵、Ctrl+N、Shift+F10、F5刷新、退格鍵
function window.onhelp(){return false} //屏蔽F1幫助
function KeyDown(){
if ((window.event.altKey)&&
((window.event.keyCode==37)|| //屏蔽 Alt+ 方向鍵 ←
(window.event.keyCode==39))){ //屏蔽 Alt+ 方向鍵 →
alert("不準你使用ALT+方向鍵前進或后退網頁!");
event.returnvalue=false;
}
/* 注:這還不是真正地屏蔽 Alt+ 方向鍵,
因為 Alt+ 方向鍵彈出警告框時,按住 Alt 鍵不放,
用鼠標點掉警告框,這種屏蔽方法就失效了。以后若
有哪位高手有真正屏蔽 Alt 鍵的方法,請告知。*/
if ((event.keyCode == 8) &&
(event.srcElement.type != "text" &&
event.srcElement.type != "textarea" &&
event.srcElement.type != "password") || //屏蔽退格刪除鍵
(event.keyCode==116)|| //屏蔽 F5 刷新鍵
(event.ctrlKey && event.keyCode==82)){ //Ctrl + R
event.keyCode=0;
event.returnvalue=false;
}
if ((event.ctrlKey)&&(event.keyCode==78)) //屏蔽 Ctrl+n
event.returnvalue=false;
if ((event.shiftKey)&&(event.keyCode==121)) //屏蔽 shift+F10
event.returnvalue=false;
if (window.event.srcElement.tagName == "A" && window.event.shiftKey)
window.event.returnvalue = false; //屏蔽 shift 加鼠標左鍵新開一網頁
if ((window.event.altKey)&&(window.event.keyCode==115)){ //屏蔽Alt+F4
window.showModelessDialog("about:blank","","dialogWidth:1px;dialogheight:1px");
return false;}
}
/* 另外可以用 window.open 的方法屏蔽 IE 的所有菜單
第一種方法:
window.open("你的.htm", "","toolbar=no,location=no,directories=no,menubar=no,scrollbars=no,resizable=yes,status=no,top=0,left=0")
第二種方法是打開一個全屏的頁面:
window.open("你的.asp", "", "fullscreen=yes")
*/
//-->
</script>
<input type="text" >
22:屏蔽F5鍵
<script language="javascript">
<!--
function document.onkeydown()
{
if ( event.keyCode==116)
{
event.keyCode = 0;
event.cancelBubble = true;
return false;
}
}
-->
</script>
<input type="text">
23:屏蔽主窗口滾動條
在body標簽里加上 style="overflow-y:hidden"
24:取得控件的絕對位置
<script language="javascript">
function getIE(e){
var t=e.offsetTop;
var l=e.offsetLeft;
while(e=e.offsetParent){
t+=e.offsetTop;
l+=e.offsetLeft;
}
alert("top="+t+"nleft="+l);
}
</script>
<input type="button" value="看看我的位置" onclick="getIE(this);">
25:切換頁面后,光標停在文本框文字的最后
<script language="javascript">
function cc()
{
var e = event.srcElement;
var r =e.createTextRange();
r.moveStart("character",e.value.length);
r.collapse(true);
r.select();
}
</script>
<input type=text name=text1 value="123" onfocus="cc();">
26:表格的半透明顯示效果
在<head></head>之間加上如下代碼:
<style>
.alpha{filter: Alpha(Opacity=50)} //50表示50%的透明度
</style>
在<body></body>之間加上如下代碼:
<table border="1" width="100" height="62" class="alpha" bgcolor="#F2A664" >
<tr>
<td width="100%" height="62">
<div align="center">很酷吧!</div>
</td>
</tr>
</table>
27:細線分隔線
<hr noshade size=0 color=#C0C0C0>
28:過渡度方式
<head>
<meta http-equiv="Page-Exit" content="revealTrans(Duration=3,Transition=3)">
</head>
<a href="b.html">to b.html</a>
Duration的值為網頁動態過渡的時間,單位為秒。
Transition是過渡方式,它的值為0到23,分別對應24種過渡方式。如下表:
0 盒狀收縮 1 盒狀放射
2 圓形收縮 3 圓形放射
4 由下往上 5 由上往下
6 從左至右 7 從右至左
8 垂直百葉窗 9 水平百葉窗
10 水平格狀百葉窗 11垂直格狀百葉窗
12 隨意溶解 13從左右兩端向中間展開
14從中間向左右兩端展開 15從上下兩端向中間展開
16從中間向上下兩端展開 17 從右上角向左下角展開
18 從右下角向左上角展開 19 從左上角向右下角展開
20 從左下角向右上角展開 21 水平線狀展開
22 垂直線狀展開 23 隨機產生一種過渡方式
29:如何控制橫向和縱向滾動條的顯隱?
<body style="overflow-y:hidden"> 去掉x軸
<body style="overflow-x:hidden"> 去掉y軸
<body scroll="no">不顯
/////////////////////////////////////////////////////////////////////
30:javascript中獲取地址欄參數比如 index.jsp?id=xxx&name=xxx
方法一:
<script>
function getvalue(name)
{
var str=window.location.search;
if (str.indexOf(name)!=-1)
{
var pos_start=str.indexOf(name)+name.length+1;
var pos_end=str.indexOf("&",pos_start);
if (pos_end==-1)
{
return str.substring(pos_start);
}
else
{
return str.substring(pos_start,pos_end)
}
}
else
{
return "沒有這個name值";
}
}
var strName=prompt("請輸入您所要值的名字");
alert(getvalue(strName));
</script>
方法二:
<script language="javascript">
var URLParams = new Array();
var aParams = document.location.search.substr(1).split('&');
for (i=0;i<aParams.length;i++){
var aParam = aParams[i].split("=");
URLParams[aParam[0]] = aParam[1];
}
//取得傳過來的name參數
var v=URLParams["name"];
alert("name==="+v);
</script>
方法三:
<script type="text/javascript">
Request = {
QueryString : function(item){
var svalue = location.search.match(new RegExp("[\?\&]" + item + "=([^\&]*)(\&?)","i"));
return svalue ? svalue[1] : svalue;
}
}
alert(Request.QueryString("name"));
</script>
////////////////////////////////////////////////////////////////////
31:window對象的方法
open(URL,WindowName,parameterList):open方法創建一個新的瀏覽器窗口,并在新窗口中載入一個指定的URL地址。
close():close方法關閉一個瀏覽器窗口.
alert(text):彈出一個信息框.
confirm(text):彈出一個確認框.
prompt(text,Defaulttext):彈出一個提示框.
setTimeout(expression,time):定時設置,在一定時間后自動執行expression描述的代碼,使用time設置時間,單位是毫秒.
clearTimeout(timer):取消以前的定時設置.
back():指示瀏覽器載入歷史記錄中的上一個URL地址.
forward():指示瀏覽器載入歷史記錄中的下一個URL地址.
stop():指示瀏覽器停止網頁的裝載.
location:提供當前窗口的URL信息
history:提供當前窗口的歷史記錄,可以在網頁導航中發揮作用.
closed:一個指出窗口目前是否關閉的邏輯值.
self:引用當前文檔對應的窗口.
navigate(url):窗口轉向另外一個窗口
32:驗證是否整數
<script type="text/javascript">
function checkInteger(v){
var s = ""+v;
var ret = s.match(/^(-|\+)?\d+$/);
if(ret==null){
alert(v+" , 不是數字");
}
}
checkInteger('01230');
checkInteger("abc");
</script>
33:驗證是否都是數字,而且是正整數
<script type="text/javascript">
function checkGreaterZero(v){
var s = ""+v;
var ret = s.match(/^\d+$/);
if(ret==null){
alert(v+" , 不是數字");
}
}
checkGreaterZero('1230');
checkGreaterZero("abc");
</script>
34:驗證是否都是數字,而且是負整數
<script type="text/javascript">
function checkLitterZero(v){
var s = ""+v;
var ret = s.match(/^-\d+$/);
if(ret==null){
alert(v+" , 不是小于0的數字");
}
}
checkLitterZero('-1230');
checkLitterZero("123");
</script>
35:短時間,形如 (13:04:06)
<script language="javascript">
function isTime(str)
{
var a = str.match(/^(\d{1,2})(:)?(\d{1,2})\2(\d{1,2})$/);
if (a == null) {alert('輸入的參數不是時間格式'); return false;}
if (a[1]>24 || a[3]>60 || a[4]>60)
{
alert(str+",時間格式不對");
return false
}
return true;
}
isTime("12:09:39");
isTime("33:55:99");
</script>
36:短日期,形如 (2008-12-05)
<script language="javascript">
function strDateTime(str)
{
var r = str.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);
if(r==null)return false;
var d= new Date(r[1], r[3]-1, r[4]);
return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]);
}
alert(strDateTime("2008-10-28"));
alert(strDateTime("08-12-9"));
</script>
37:長時間,形如 (2003-12-05 13:04:06)
<script language="javascript">
function strDateTime(str)
{
var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/;
var r = str.match(reg);
if(r==null)return false;
var d= new Date(r[1], r[3]-1,r[4],r[5],r[6],r[7]);
return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]&&d.getHours()==r[5]&&d.getMinutes()==r[6]&&d.getSeconds()==r[7]);
}
alert(strDateTime("2008-10-28 11:11:11"));
alert(strDateTime("08-12-9 11:11:11"));
</script>
38:檢測值不能為空
<script language="javascript">
function canNotEmpty(str)
{
if(str.replace(/^\s+|\s+$/g,'')==''){
alert('不能為空!');
}
return true;
}
alert(canNotEmpty("2008-10-28 11:11:11"));
alert(canNotEmpty(" "));
</script>
39:判斷字符全部由a-Z或者是A-Z的字字母組成
<script language="javascript">
function isLetter(str)
{
if(/[^a-zA-Z]/g.test(str)){
return false;
}
return true;
}
alert(isLetter("aaaSSFsadfa"));
alert(isLetter("a3d"));
</script>
40:判斷字符由字母和數字組成
<script language="javascript">
function isLetter(str)
{
if(/[^0-9a-zA-Z]/g.test(this.value)){
return false;
}
return true;
}
alert(isLetter("aaaSSFsadfa"));
alert(isLetter("a3d"));
</script>
41:判斷字符由字母和數字,下劃線,點號組成.且開頭的只能是下劃線和字母
<script language="javascript">
function isLetter(str)
{
if(/^([a-zA-z_]{1})([\w]*)$/g.test(str)){
return true;
}
return false;
}
alert(isLetter(" aaaSSFsadfa"));
alert(isLetter("_a3d"));
</script>
42:判斷瀏覽器的類型
<script language="javascript">
alert(window.navigator.appName);
</script>
43:判斷ie的版本
<script language="javascript">
alert(window.navigator.appVersion);
</script>
44:判斷客戶端的分辨率
<script language="javascript">
alert(window.screen.height);
alert(window.screen.width);
</script>
45:用正則表達式判斷是否Email
<script language="javascript">
function isMail(mail)
{
return(new RegExp(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/).test(mail));
}
alert(isMail("cc@a.com"));
alert(isMail("cc 1@a.com"));
</script>
46:用正則表達式判斷是否身份證號碼
<script language="javascript">
function isIdCardNo(num)
{
if (isNaN(num)) {alert("輸入的不是數字!"); return false;}
var len = num.length, re;
if (len == 15)
re = new RegExp(/^(\d{6})()?(\d{2})(\d{2})(\d{2})(\d{3})$/);
else if (len == 18)
re = new RegExp(/^(\d{6})()?(\d{4})(\d{2})(\d{2})(\d{3})(\d)$/);
else {alert("輸入的數字位數不對!"); return false;}
var a = num.match(re);
if (a != null)
{
if (len==15)
{
var D = new Date("19"+a[3]+"/"+a[4]+"/"+a[5]);
var B = D.getYear()==a[3]&&(D.getMonth()+1)==a[4]&&D.getDate()==a[5];
}
else
{
var D = new Date(a[3]+"/"+a[4]+"/"+a[5]);
var B = D.getFullYear()==a[3]&&(D.getMonth()+1)==a[4]&&D.getDate()==a[5];
}
if (!B) {alert("輸入的身份證號 "+ a[0] +" 里出生日期不對!"); return false;}
}
return true;
}
alert(isIdCardNo("511111199001013456"));
alert(isIdCardNo("511111199013313456"));
</script>
47:給表格自動增行(msdn的例子)
<SCRIPT>
function createRows(){
// insert two rows.
var oRow1=oTable.insertRow(oTable.rows.length);
var oRow2=oTable.insertRow(oTable.rows.length);
// retrieve the rows collection for the table.
var aRows=oTable.rows;
// retrieve the cells collection for the first row.
var aCells=oRow1.cells;
// insert two cells into the first row.
var oCell1_1=aRows(oRow1.rowIndex).insertCell(aCells.length);
var oCell1_2=aRows(oRow1.rowIndex).insertCell(aCells.length);
// retrieve the cells collection for the second row.
aCells=oRow2.cells;
// insert two cells into the second row.
var oCell2_1=aRows(oRow2.rowIndex).insertCell(aCells.length);
var oCell2_2=aRows(oRow2.rowIndex).insertCell(aCells.length);
// Add regular HTML values to the 4 new cells.
oCell1_1.innerHTML="<B>Cell 1.1!</B>";
oCell1_2.innerHTML="<B>Cell 1.2!</B>";
oCell2_1.innerHTML="<B>Cell 2.1!</B>";
oCell2_2.innerHTML="<B>Cell 2.2!</B>";
}
</SCRIPT>
<INPUT TYPE="button" VALUE="Create Rows" onclick="createRows()">
<TABLE BORDER=1 ID="oTable">
</TABLE>
48:嚴格的身份證驗證
<script>
var aCity={11:"北京",12:"天津",13:"河北",14:"山西",15:"內蒙古",21:"遼寧",22:"吉林",23:"黑龍江",31:"上海",32:"江蘇",33:"浙江",34:"安徽",35:"福建",36:"江西",37:"山東",41:"河南",42:"湖北",43:"湖南",44:"廣東",45:"廣西",46:"海南",50:"重慶",51:"四川",52:"貴州",53:"云南",54:"xizang",61:"陜西",62:"甘肅",63:"青海",64:"寧夏",65:"新疆",71:"臺灣",81:"香港",82:"澳門",91:"國外"}
function cidInfo(sId){
var iSum=0
var info=""
if(!/^\d{17}(\d|x)$/i.test(sId))return false;
sId=sId.replace(/x$/i,"a");
if(aCity[parseInt(sId.substr(0,2))]==null)return "Error:非法地區";
sBirthday=sId.substr(6,4)+"-"+Number(sId.substr(10,2))+"-"+Number(sId.substr(12,2));
var d=new Date(sBirthday.replace(/-/g,"/"))
if(sBirthday!=(d.getFullYear()+"-"+ (d.getMonth()+1) + "-" + d.getDate()))return "Error:非法生日";
for(var i = 17;i>=0;i --) iSum += (Math.pow(2,i) % 11) * parseInt(sId.charAt(17 - i),11)
if(iSum%11!=1)return "Error:非法證號";
return aCity[parseInt(sId.substr(0,2))]+","+sBirthday+","+(sId.substr(16,1)%2?"男":"女")
}
document.write(cidInfo("380524198002300016"),"<br/>");
document.write(cidInfo("340524198002300019"),"<br/>")
document.write(cidInfo("340524197711111111"),"<br/>")
document.write(cidInfo("34052419800101001x"),"<br/>");
</script>
49:驗證IP地址
<SCRIPT LANGUAGE="JavaScript">
function isip(s){
var check=function(v){try{return (v<=255 && v>=0)}catch(x){return false}};
var re=s.split(".")
return (re.length==4)?(check(re[0]) && check(re[1]) && check(re[2]) && check(re[3])):false
}
var s="202.197.78.129";
alert(isip(s))
</SCRIPT>
相關筆記推薦
團隊合作之文檔
Java中的緩沖區(直接緩沖區、非直接緩沖區等)
復習JSP很簡單的demo
weblogic11性能監控
網頁狀態碼
歸并排序
tomcat使用總結
打包兩款時間控件
服務器端重定向技術
Hibernate源代碼分析
精品視頻課程推薦
XML基礎
創建規范的XML文檔,DTD的作用,并且可以根據要求創建私用的DTD,通過JavaScript解析XML DOM
研磨設計模式——跟著cc學設計系列
本視頻課程是北京Java私塾原創精品書籍《研磨設計模式》一書的配套學習視頻,由《研磨設計模式》的第一作者CC錄制 課程目標:全面、系統的掌握GoF設計模式的知識,達到可以在實際項目開發中運用的能力 技術要點:如何實現可配置、如何實現緩存以及緩存的管理、如何實現用緩存來控制多實例的創建、如何實現參數化工廠、 如何實現可擴展工廠、如何實現原型管理器、如何實現Java的靜態代理和動態代理、如何實現多線程處理隊列請求、 如何實現命令的參數化配置、可撤銷的操作、宏命令、隊列請求和日志請求、如何實現翻頁迭代、如何檢測環狀結構、 如何實現通用的增刪改查、如何模擬工作流來處理流程、如何實現簡單又通用的XML讀取、如何實現模擬AOP的功能......
Spring3開發實戰-獨家
從零到精通Spring3的開發知識;IoC/DI的思想、IoC/DI的運行流程、IoC/DI的開發指導、AOP的思想、AOP的運行流程、AOP應用的設計、Spring對JDBC和Hibernate的支持、Spring的事務、SSH的集成應用
透徹理解JavaBean
深入淺出的講解JavaBen的寫法、JavaBean的用法、JavaBean的實現機制、JavaBean對應翻譯的代碼理解。
Java Web開發-項目部分(中國移動科技綜合管理系統)
中國移動科技綜合管理系統,對JDBC實現CRUD的抽象化和復用化;UUID自動生成;分層開發、綜合示范Jsp+Servlet+JavaBean+TagLib+JSTL+JDBC的實現;Web分頁、Web樹、日期控件、真實值和表現值轉換;眾多雜項技術的實現,比如:tab、左右選擇等等
瀏覽(981)|評論(18) 交流分類:Web前端技術|筆記分類: 未分類
評論(18)
18樓 ☋²º¹²? 2012-09-26 引用
非常感謝
17樓 computer3311 2012-09-24 引用
謝謝分享,得研究一下
16樓 javassok 2012-09-14 引用
看這代碼你不頭痛?
反正我是痛了!
15樓 o0o烏龜o0o 2012-09-11 引用
很不錯的學習資料,謝謝。
14樓 fq1798 2012-08-23 引用
真的好牛啊。
13樓 wanmeiai 2012-08-06 引用
。。。。。。。。。很不錯啊
12樓 zfnjusttz 2012-08-05 引用
哦,不錯哦,學習
11樓 ayun 2012-08-04 引用
非常感謝
10樓 54958512 2012-06-01 引用
很好啊 謝謝了
9樓 anything 2012-05-29 引用
不錯啊,很好的積累
8樓 pany1708 2012-05-16 引用
謝謝共享,收藏學習了!
7樓 yjgang3 2012-05-14 引用
qq1002517寫
/////////////////////////////////////////////////////////////////////////////////////////
一、驗證類
1、數字驗證內
1.1 整數
1.2 大于0的整數 (用于傳來的ID的驗證)
1.3 負整數的驗證
1.4 整數不能大于iMax
1.5 整數不能小于iMin
2、時間類
2.1 短時間,形如 (13:04:06)
2.2 短日期,形如 (2003-12-05)
2.3 長時間,形如 (2003-12-05 13:04:06)
2.4 只有年和月。形如(2003-05,或者2003-5)
2.5 只有小時和分鐘,形如(12:03)
3、表單類
3.1 所有的表單的值都不能為空
3.2 多行文本框的值不能為空。
3.3 多行文本框的值不能超過sMaxStrleng
3.4 多行文本框的值不能少于sMixStrleng
3.5 判斷單選框是否選擇。
3.6 判斷復選框是否選擇.
3.7 復選框的全選,多選,全不選,反選
3.8 文件上傳過程中判斷文件類型
4、字符類
4.1 判斷字符全部由a-Z或者是A-Z的字字母組成
4.2 判斷字符由字母和數字組成。
4.3 判斷字符由字母和數字,下劃線,點號組成.且開頭的只能是下劃線和字母
4.4 字符串替換函數.Replace();
5、瀏覽器類
5.1 判斷瀏覽器的類型
5.2 判斷ie的版本
5.3 判斷客戶端的分辨率
6、結合類
6.1 email的判斷。
6.2 手機號碼的驗證
6.3 身份證的驗證
二、功能類
1、時間與相關控件類
1.1 日歷
1.2 時間控件
1.3 萬年歷
1.4 顯示動態顯示時鐘效果(文本,如OA中時間)
1.5 顯示動態顯示時鐘效果 (圖像,像手表)
2、表單類
2.1 自動生成表單
2.2 動態添加,修改,刪除下拉框中的元素
2.3 可以輸入內容的下拉框
2.4 多行文本框中只能輸入iMax文字。如果多輸入了,自動減少到iMax個文字(多用于短信發送)
3、打印類
3.1 打印控件
4、事件類
4.1 屏蔽右鍵
4.2 屏蔽所有功能鍵
4.3 --> 和<-- F5 F11,F9,F1
4.4 屏蔽組合鍵ctrl+N
5、網頁設計類
5.1 連續滾動的文字,圖片(注意是連續的,兩段文字和圖片中沒有空白出現)
5.2 html編輯控件類
5.3 顏色選取框控件
5.4 下拉菜單
5.5 兩層或多層次的下拉菜單
5.6 仿IE菜單的按鈕。(效果如rongshuxa.com的導航欄目)
5.7 狀態欄,title欄的動態效果(例子很多,可以研究一下)
5.8 雙擊后,網頁自動滾屏
6、樹型結構。
7、無邊框效果的制作
8、連動下拉框技術
9、文本排序
10,畫圖類,含餅、柱、矢量貝滋曲線
11,操縱客戶端注冊表類
12,DIV層相關(拖拽、顯示、隱藏、移動、增加)
13,TABLAE相關(客戶端動態增加行列,模擬進度條,滾動列表等)
14,各種<object classid=>相關類,如播放器,flash與腳本互動等
16, 刷新/模擬無刷新 異步調用類(XMLHttp或iframe,frame)
/////////////////////////////////////////////////////////////////////////////////////////
1.讓文字不停地滾動
<MARQUEE>滾動文字</MARQUEE>
2.記錄并顯示網頁的最后修改時間
<script language=javascript>
document.write("最后更新時間: " + document.lastModified + "");
</script>
3.關閉當前窗口
<a href="#" onClick="javascript :window.close();return false;">關閉窗口</a>
4.5秒后關閉當前頁
<script language="javascript">
<!--
setTimeout('window.close();',5000);
-->
</script>
5.2秒后載入指定網頁
<head>
<meta http-equiv="refresh" content="2;URL=http://你的網址">
</head>
6.添加到收藏夾
<Script Language="javascript">
function bookmarkit(){
window.external.addFavorite('http://你的網址','你的網站名稱');
}
if (document.all){
document.write('<a href="#" onClick="bookmarkit()">加入收藏夾</a>');
}
</Script>
7.讓超鏈接不顯示下劃線
<style type="text/css">
<!- a:link{text-decoration:none}
a:hover{text-decoration:none}
a:visited{text-decoration:none}
->
</style>
8.禁止鼠標右鍵的動作
<script language="javascript">
function click() {
if (event.button==2||event.button==3){
alert('禁止鼠標右鍵');
}
}
document.onmousedown=click;
</script>
9.設置該頁為首頁
<span onclick="var strHref=window.location.href;this.style.behavior=
'url(#default#homepage)';
this.setHomePage('http://www.ccidnet.com');
" style="CURSOR: hand"><br>將本站設置為首頁</span>
10.節日倒計時
<Script Language="javascript">
var timedate= new Date("December 25,2008");
var times="圣誕節";
var now = new Date();
var date = timedate.getTime() - now.getTime();
var time = Math.floor(date / (1000 * 60 * 60 * 24));
if (time >= 0)
document.write("現在離"+times+"還有: "+time +"天")
</Script>
11.單擊按鈕打印出當前頁
<Script Language="javascript">
if (window.print) {
document.write('<form>' + '<input type=button name=print value="打印本頁" ' + 'onClick="javascript:window.print();"></form>');
}
</Script>
12.單擊按鈕‘另存為’當前頁
<input type="button" name="Button" value="保存本頁" onClick="document.all.button.ExecWB(4,1)">
<object id="button" width=0 height=0 classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2">
<embed width="0" height="0"></embed>
</object>
13.顯示系統當前日期
<script language=javascript>
var today=new Date();
function myDate(){
this.week=new Array();
this.week[0]="星期日";
this.week[1]="星期一";
this.week[2]="星期二";
this.week[3]="星期三";
this.week[4]="星期四";
this.week[5]="星期五";
this.week[6]="星期六";
this.getWeek=function(num){
return this.week[num];
}
}
var d = new myDate();
document.write( "<font color=##000000 style='font-size:9pt;font-family: 宋體'> ", today.getYear(),"年",today.getMonth()+1,"月",today.getDate(),"日", d.getWeek(today.getDay()),"</font>" );
</script>
14.不同時間段顯示不同問候語
<Script Language="javascript">
<!--
var text="";
day = new Date( );
time = day.getHours( );
if (( time>=0) && (time < 7 )){
text="夜貓子,要注意身體哦! "
}
if (( time >= 7 ) && (time < 12)){
text="今天天氣……哈哈哈,不去玩嗎?"
}
if (( time >= 12) && (time < 14)){
text="午休時間哦,朋友一定是不習慣午睡的吧?!"
}
if (( time >=14) && (time < 18)){
text="下午茶的時間到了,休息一下吧! "
}
if ((time >= 18) && (time <= 22)){
text="您又來了,可別和MM聊太久哦!"
}
if ((time >= 22) && (time < 24)){
text="很晚了哦,注意休息呀!"
}
document.write(text)
//--->
</Script>
15.水中倒影效果
<img id="reflect" src="你自己的圖片文件名" width="175" height="59">
<script language="javascript">
function f1() {
setInterval("mdiv.filters.wave.phase+=10",100);
}
if (document.all) {
document.write('<img id=mdiv src="'+document.all.reflect.src+'" style="filter:wave(strength=3,freq=3,phase=0,lightstrength=30) blur() flipv()">');
window.onload=f1
}
</script>
16.慢慢變大的窗口
<Script Language="javascript">
<!--
var Windowsheight=100;
var Windowswidth=100;
var numx=5;
function openwindow(thelocation){
temploc=thelocation;
if (!(window.resizeTo&&document.all)&&!(window.resizeTo&&document.getElementById)) {
window.open(thelocation);
return;
}
windowsize=window.open("","","scrollbars");
windowsize.moveTo(0,0);
windowsize.resizeTo(100,100);
tenumxt();
}
function tenumxt(){
if (Windowsheight>=screen.availHeight-3){
numx=0;
}
windowsize.resizeBy(5,numx);
Windowsheight+=5;
Windowswidth+=5;
if (Windowswidth>=screen.width-5) {
windowsize.location=temploc;
Windowsheight=100;
Windowswidth=100;
numx=5;
return;
}
setTimeout("tenumxt()",50);
}
//-->
</script>
<p><a href="javascript:openwindow('http://news.sohu.com')">進入</a>
17.改變IE地址欄的IE圖標
我們要先做一個16*16的icon(圖標文件),保存為index.ico。把這個圖標文件上傳到根目錄下,
并在首頁<head></head>之間加上如下代碼:
<head>
<link rel="Shortcut Icon" href="index.ico"/>
</head>
18:進入或者離開時顯示信息
設置body的 onLoad和onUnload事件
19:只能輸入數字
<script LANGUAGE="javascript">;
<!--
function check(){
if (document.form.tell.value==""){
alert("請輸入數字!");
document.form.tell.focus();
return false;
}else{
var Letters = "0123456789()+-";
for (i=0; i< document.form.tell.value.length; i++){
var CheckChar = document.form.tell.value.charAt(i);
if (Letters.indexOf(CheckChar) == -1){
alert("輸入的數字不正確!");
document.form.tell.focus();
return false;
}
}
}
}
//-->;
</script>
<form method="POST" name=form action="" onSubmit="return check();">
請輸入數字:<input type="text" name="tell" size="20">
<input type="submit" value="提交" name="B1">
</form>
20:email 合法性檢查
<script language="javascript">
function check()
{
var vv = document.all("email").value;
if(vv.length!=0)
{
if (vv.charAt(0)=="." ||
vv.charAt(0)=="@"||
vv.indexOf('@', 0) == -1 ||
vv.indexOf('.', 0) == -1 ||
vv.lastIndexOf("@")
==vv.length-1 ||
vv.lastIndexOf(".")
==vv.length-1)
{
alert("Email的格式不正確!");
document.all("email").focus();
return false;
}
}
else
{
alert("Email的不能為空!");
document.all("email").focus();
return false;
}
return false;
}
</script>
<input type="text" name="email">
<input type="button" onclick="check();" value="檢查email">
21:屏蔽 Ctrl+N、Shift+F10、F5刷新、退格鍵
<script language="javascript">
<!--
//屏蔽鼠標右鍵、Ctrl+N、Shift+F10、F5刷新、退格鍵
function window.onhelp(){return false} //屏蔽F1幫助
function KeyDown(){
if ((window.event.altKey)&&
((window.event.keyCode==37)|| //屏蔽 Alt+ 方向鍵 ←
(window.event.keyCode==39))){ //屏蔽 Alt+ 方向鍵 →
alert("不準你使用ALT+方向鍵前進或后退網頁!");
event.returnvalue=false;
}
/* 注:這還不是真正地屏蔽 Alt+ 方向鍵,
因為 Alt+ 方向鍵彈出警告框時,按住 Alt 鍵不放,
用鼠標點掉警告框,這種屏蔽方法就失效了。以后若
有哪位高手有真正屏蔽 Alt 鍵的方法,請告知。*/
if ((event.keyCode == 8) &&
(event.srcElement.type != "text" &&
event.srcElement.type != "textarea" &&
event.srcElement.type != "password") || //屏蔽退格刪除鍵
(event.keyCode==116)|| //屏蔽 F5 刷新鍵
(event.ctrlKey && event.keyCode==82)){ //Ctrl + R
event.keyCode=0;
event.returnvalue=false;
}
if ((event.ctrlKey)&&(event.keyCode==78)) //屏蔽 Ctrl+n
event.returnvalue=false;
if ((event.shiftKey)&&(event.keyCode==121)) //屏蔽 shift+F10
event.returnvalue=false;
if (window.event.srcElement.tagName == "A" && window.event.shiftKey)
window.event.returnvalue = false; //屏蔽 shift 加鼠標左鍵新開一網頁
if ((window.event.altKey)&&(window.event.keyCode==115)){ //屏蔽Alt+F4
window.showModelessDialog("about:blank","","dialogWidth:1px;dialogheight:1px");
return false;}
}
/* 另外可以用 window.open 的方法屏蔽 IE 的所有菜單
第一種方法:
window.open("你的.htm", "","toolbar=no,location=no,directories=no,menubar=no,scrollbars=no,resizable=yes,status=no,top=0,left=0")
第二種方法是打開一個全屏的頁面:
window.open("你的.asp", "", "fullscreen=yes")
*/
//-->
</script>
<input type="text" >
22:屏蔽F5鍵
<script language="javascript">
<!--
function document.onkeydown()
{
if ( event.keyCode==116)
{
event.keyCode = 0;
event.cancelBubble = true;
return false;
}
}
-->
</script>
<input type="text">
23:屏蔽主窗口滾動條
在body標簽里加上 style="overflow-y:hidden"
24:取得控件的絕對位置
<script language="javascript">
function getIE(e){
var t=e.offsetTop;
var l=e.offsetLeft;
while(e=e.offsetParent){
t+=e.offsetTop;
l+=e.offsetLeft;
}
alert("top="+t+"nleft="+l);
}
</script>
<input type="button" value="看看我的位置" onclick="getIE(this);">
25:切換頁面后,光標停在文本框文字的最后
<script language="javascript">
function cc()
{
var e = event.srcElement;
var r =e.createTextRange();
r.moveStart("character",e.value.length);
r.collapse(true);
r.select();
}
</script>
<input type=text name=text1 value="123" onfocus="cc();">
26:表格的半透明顯示效果
在<head></head>之間加上如下代碼:
<style>
.alpha{filter: Alpha(Opacity=50)} //50表示50%的透明度
</style>
在<body></body>之間加上如下代碼:
<table border="1" width="100" height="62" class="alpha" bgcolor="#F2A664" >
<tr>
<td width="100%" height="62">
<div align="center">很酷吧!</div>
</td>
</tr>
</table>
27:細線分隔線
<hr noshade size=0 color=#C0C0C0>
28:過渡度方式
<head>
<meta http-equiv="Page-Exit" content="revealTrans(Duration=3,Transition=3)">
</head>
<a href="b.html">to b.html</a>
Duration的值為網頁動態過渡的時間,單位為秒。
Transition是過渡方式,它的值為0到23,分別對應24種過渡方式。如下表:
0 盒狀收縮 1 盒狀放射
2 圓形收縮 3 圓形放射
4 由下往上 5 由上往下
6 從左至右 7 從右至左
8 垂直百葉窗 9 水平百葉窗
10 水平格狀百葉窗 11垂直格狀百葉窗
12 隨意溶解 13從左右兩端向中間展開
14從中間向左右兩端展開 15從上下兩端向中間展開
16從中間向上下兩端展開 17 從右上角向左下角展開
18 從右下角向左上角展開 19 從左上角向右下角展開
20 從左下角向右上角展開 21 水平線狀展開
22 垂直線狀展開 23 隨機產生一種過渡方式
29:如何控制橫向和縱向滾動條的顯隱?
<body style="overflow-y:hidden"> 去掉x軸
<body style="overflow-x:hidden"> 去掉y軸
<body scroll="no">不顯
/////////////////////////////////////////////////////////////////////
30:javascript中獲取地址欄參數比如 index.jsp?id=xxx&name=xxx
方法一:
<script>
function getvalue(name)
{
var str=window.location.search;
if (str.indexOf(name)!=-1)
{
var pos_start=str.indexOf(name)+name.length+1;
var pos_end=str.indexOf("&",pos_start);
if (pos_end==-1)
{
return str.substring(pos_start);
}
else
{
return str.substring(pos_start,pos_end)
}
}
else
{
return "沒有這個name值";
}
}
var strName=prompt("請輸入您所要值的名字");
alert(getvalue(strName));
</script>
方法二:
<script language="javascript">
var URLParams = new Array();
var aParams = document.location.search.substr(1).split('&');
for (i=0;i<aParams.length;i++){
var aParam = aParams[i].split("=");
URLParams[aParam[0]] = aParam[1];
}
//取得傳過來的name參數
var v=URLParams["name"];
alert("name==="+v);
</script>
方法三:
<script type="text/javascript">
Request = {
QueryString : function(item){
var svalue = location.search.match(new RegExp("[\?\&]" + item + "=([^\&]*)(\&?)","i"));
return svalue ? svalue[1] : svalue;
}
}
alert(Request.QueryString("name"));
</script>
////////////////////////////////////////////////////////////////////
31:window對象的方法
open(URL,WindowName,parameterList):open方法創建一個新的瀏覽器窗口,并在新窗口中載入一個指定的URL地址。
close():close方法關閉一個瀏覽器窗口.
alert(text):彈出一個信息框.
confirm(text):彈出一個確認框.
prompt(text,Defaulttext):彈出一個提示框.
setTimeout(expression,time):定時設置,在一定時間后自動執行expression描述的代碼,使用time設置時間,單位是毫秒.
clearTimeout(timer):取消以前的定時設置.
back():指示瀏覽器載入歷史記錄中的上一個URL地址.
forward():指示瀏覽器載入歷史記錄中的下一個URL地址.
stop():指示瀏覽器停止網頁的裝載.
location:提供當前窗口的URL信息
history:提供當前窗口的歷史記錄,可以在網頁導航中發揮作用.
closed:一個指出窗口目前是否關閉的邏輯值.
self:引用當前文檔對應的窗口.
navigate(url):窗口轉向另外一個窗口
32:驗證是否整數
<script type="text/javascript">
function checkInteger(v){
var s = ""+v;
var ret = s.match(/^(-|\+)?\d+$/);
if(ret==null){
alert(v+" , 不是數字");
}
}
checkInteger('01230');
checkInteger("abc");
</script>
33:驗證是否都是數字,而且是正整數
<script type="text/javascript">
function checkGreaterZero(v){
var s = ""+v;
var ret = s.match(/^\d+$/);
if(ret==null){
alert(v+" , 不是數字");
}
}
checkGreaterZero('1230');
checkGreaterZero("abc");
</script>
34:驗證是否都是數字,而且是負整數
<script type="text/javascript">
function checkLitterZero(v){
var s = ""+v;
var ret = s.match(/^-\d+$/);
if(ret==null){
alert(v+" , 不是小于0的數字");
}
}
checkLitterZero('-1230');
checkLitterZero("123");
</script>
35:短時間,形如 (13:04:06)
<script language="javascript">
function isTime(str)
{
var a = str.match(/^(\d{1,2})(:)?(\d{1,2})\2(\d{1,2})$/);
if (a == null) {alert('輸入的參數不是時間格式'); return false;}
if (a[1]>24 || a[3]>60 || a[4]>60)
{
alert(str+",時間格式不對");
return false
}
return true;
}
isTime("12:09:39");
isTime("33:55:99");
</script>
36:短日期,形如 (2008-12-05)
<script language="javascript">
function strDateTime(str)
{
var r = str.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);
if(r==null)return false;
var d= new Date(r[1], r[3]-1, r[4]);
return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]);
}
alert(strDateTime("2008-10-28"));
alert(strDateTime("08-12-9"));
</script>
37:長時間,形如 (2003-12-05 13:04:06)
<script language="javascript">
function strDateTime(str)
{
var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/;
var r = str.match(reg);
if(r==null)return false;
var d= new Date(r[1], r[3]-1,r[4],r[5],r[6],r[7]);
return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]&&d.getHours()==r[5]&&d.getMinutes()==r[6]&&d.getSeconds()==r[7]);
}
alert(strDateTime("2008-10-28 11:11:11"));
alert(strDateTime("08-12-9 11:11:11"));
</script>
38:檢測值不能為空
<script language="javascript">
function canNotEmpty(str)
{
if(str.replace(/^\s+|\s+$/g,'')==''){
alert('不能為空!');
}
return true;
}
alert(canNotEmpty("2008-10-28 11:11:11"));
alert(canNotEmpty(" "));
</script>
39:判斷字符全部由a-Z或者是A-Z的字字母組成
<script language="javascript">
function isLetter(str)
{
if(/[^a-zA-Z]/g.test(str)){
return false;
}
return true;
}
alert(isLetter("aaaSSFsadfa"));
alert(isLetter("a3d"));
</script>
40:判斷字符由字母和數字組成
<script language="javascript">
function isLetter(str)
{
if(/[^0-9a-zA-Z]/g.test(this.value)){
return false;
}
return true;
}
alert(isLetter("aaaSSFsadfa"));
alert(isLetter("a3d"));
</script>
41:判斷字符由字母和數字,下劃線,點號組成.且開頭的只能是下劃線和字母
<script language="javascript">
function isLetter(str)
{
if(/^([a-zA-z_]{1})([\w]*)$/g.test(str)){
return true;
}
return false;
}
alert(isLetter(" aaaSSFsadfa"));
alert(isLetter("_a3d"));
</script>
42:判斷瀏覽器的類型
<script language="javascript">
alert(window.navigator.appName);
</script>
43:判斷ie的版本
<script language="javascript">
alert(window.navigator.appVersion);
</script>
44:判斷客戶端的分辨率
<script language="javascript">
alert(window.screen.height);
alert(window.screen.width);
</script>
45:用正則表達式判斷是否Email
<script language="javascript">
function isMail(mail)
{
return(new RegExp(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/).test(mail));
}
alert(isMail("cc@a.com"));
alert(isMail("cc 1@a.com"));
</script>
46:用正則表達式判斷是否身份證號碼
<script language="javascript">
function isIdCardNo(num)
{
if (isNaN(num)) {alert("輸入的不是數字!"); return false;}
var len = num.length, re;
if (len == 15)
re = new RegExp(/^(\d{6})()?(\d{2})(\d{2})(\d{2})(\d{3})$/);
else if (len == 18)
re = new RegExp(/^(\d{6})()?(\d{4})(\d{2})(\d{2})(\d{3})(\d)$/);
else {alert("輸入的數字位數不對!"); return false;}
var a = num.match(re);
if (a != null)
{
if (len==15)
{
var D = new Date("19"+a[3]+"/"+a[4]+"/"+a[5]);
var B = D.getYear()==a[3]&&(D.getMonth()+1)==a[4]&&D.getDate()==a[5];
}
else
{
var D = new Date(a[3]+"/"+a[4]+"/"+a[5]);
var B = D.getFullYear()==a[3]&&(D.getMonth()+1)==a[4]&&D.getDate()==a[5];
}
if (!B) {alert("輸入的身份證號 "+ a[0] +" 里出生日期不對!"); return false;}
}
return true;
}
alert(isIdCardNo("511111199001013456"));
alert(isIdCardNo("511111199013313456"));
</script>
47:給表格自動增行(msdn的例子)
<SCRIPT>
function createRows(){
// insert two rows.
var oRow1=oTable.insertRow(oTable.rows.length);
var oRow2=oTable.insertRow(oTable.rows.length);
// retrieve the rows collection for the table.
var aRows=oTable.rows;
// retrieve the cells collection for the first row.
var aCells=oRow1.cells;
// insert two cells into the first row.
var oCell1_1=aRows(oRow1.rowIndex).insertCell(aCells.length);
var oCell1_2=aRows(oRow1.rowIndex).insertCell(aCells.length);
// retrieve the cells collection for the second row.
aCells=oRow2.cells;
// insert two cells into the second row.
var oCell2_1=aRows(oRow2.rowIndex).insertCell(aCells.length);
var oCell2_2=aRows(oRow2.rowIndex).insertCell(aCells.length);
// Add regular HTML values to the 4 new cells.
oCell1_1.innerHTML="<B>Cell 1.1!</B>";
oCell1_2.innerHTML="<B>Cell 1.2!</B>";
oCell2_1.innerHTML="<B>Cell 2.1!</B>";
oCell2_2.innerHTML="<B>Cell 2.2!</B>";
}
</SCRIPT>
<INPUT TYPE="button" VALUE="Create Rows" onclick="createRows()">
<TABLE BORDER=1 ID="oTable">
</TABLE>
48:嚴格的身份證驗證
<script>
var aCity={11:"北京",12:"天津",13:"河北",14:"山西",15:"內蒙古",21:"遼寧",22:"吉林",23:"黑龍江",31:"上海",32:"江蘇",33:"浙江",34:"安徽",35:"福建",36:"江西",37:"山東",41:"河南",42:"湖北",43:"湖南",44:"廣東",45:"廣西",46:"海南",50:"重慶",51:"四川",52:"貴州",53:"云南",54:"xizang",61:"陜西",62:"甘肅",63:"青海",64:"寧夏",65:"新疆",71:"臺灣",81:"香港",82:"澳門",91:"國外"}
function cidInfo(sId){
var iSum=0
var info=""
if(!/^\d{17}(\d|x)$/i.test(sId))return false;
sId=sId.replace(/x$/i,"a");
if(aCity[parseInt(sId.substr(0,2))]==null)return "Error:非法地區";
sBirthday=sId.substr(6,4)+"-"+Number(sId.substr(10,2))+"-"+Number(sId.substr(12,2));
var d=new Date(sBirthday.replace(/-/g,"/"))
if(sBirthday!=(d.getFullYear()+"-"+ (d.getMonth()+1) + "-" + d.getDate()))return "Error:非法生日";
for(var i = 17;i>=0;i --) iSum += (Math.pow(2,i) % 11) * parseInt(sId.charAt(17 - i),11)
if(iSum%11!=1)return "Error:非法證號";
return aCity[parseInt(sId.substr(0,2))]+","+sBirthday+","+(sId.substr(16,1)%2?"男":"女")
}
document.write(cidInfo("380524198002300016"),"<br/>");
document.write(cidInfo("340524198002300019"),"<br/>")
document.write(cidInfo("340524197711111111"),"<br/>")
document.write(cidInfo("34052419800101001x"),"<br/>");
</script>
49:驗證IP地址
<SCRIPT LANGUAGE="JavaScript">
function isip(s){
var check=function(v){try{return (v<=255 && v>=0)}catch(x){return false}};
var re=s.split(".")
return (re.length==4)?(check(re[0]) && check(re[1]) && check(re[2]) && check(re[3])):false
}
var s="202.197.78.129";
alert(isip(s))
</SCRIPT>