js常用 – Javascript教程_JS教程_技術文章 – 程式設計聯盟

1.document.write(""); 輸出語句 
2.JS中的註釋為// 
3.傳統的HTML文檔順序是:document->html->(head,body) 
4.一個瀏覽器窗口中的DOM順序是:window->(navigator,screen,history,location,document) 
5.得到表單中元素的名稱和值:document.getElementById("表單中元素的ID號").name(或&#118alue) 
6.一個小寫轉大寫的&#106s: document.getElementById("output").&#118alue = document.getElementById("input").&#118alue.toUpperCase(); 
7.JS中的值類型:String,Number,Boolean,Null,Object,Function 
8.JS中的字符型轉換成數值型:parseInt(),parseFloat() 
9.JS中的數字轉換成字符型:(""+變量) 
10.JS中的取字符串長度是:(length) 
11.JS中的字符與字符相連接使用+號. 
12.JS中的比較操作符有:==等於,!=不等於,>,>=,<.<= 
13.JS中聲明變量使用:var來進行聲明 
14.JS中的判斷語句結構:if(condition){}else{} 
15.JS中的循環結構:for([initial expression];[condition];[upadte expression]) {inside loop} 
16.循環中止的命令是:break 
17.JS中的函數定義:function functionName([parameter],…){statement[s]} 
18.當文件中出現多個form表單時.可以用document.forms[0],document.forms[1]來代替. 
19.窗口:打開窗口window.open(), 關閉一個窗口:window.close(), 窗口本身:self 
20.狀態欄的設置:window.status="字符"; 
21.彈出提示信息:window.alert("字符"); 
22.彈出確認框:window.confirm(); 
23.彈出輸入提示框:window.prompt(); 
24.指定當前顯示鏈接的位置:window.location.href="URL" 
25.取出窗體中的所有表單的數量:document.forms.length 
26.關閉文檔的輸出流:document.close(); 
27.字符串追加連接符:+= 
28.創建一個文檔元素:document.createElement(),document.createTextNode() 
29.得到元素的方法:document.getElementById() 
30.設置表單中所有文本型的成員的值為空: 
var form = window.document.forms[0] 
for (var i = 0; i<form.elements.length;i++){ 
     if (form.elements.type == "text"){ 
         form.elements.&#118alue = ""; 
     } 

31.復選按鈕在JS中判斷是否選中:document.forms[0].checkThis.checked (checked屬性代表為是否選中返回TRUE或FALSE) 
32.單選按鈕組(單選按鈕的名稱必須相同):取單選按鈕組的長度document.forms[0].groupName.length 
33.單選按鈕組判斷是否被選中也是用checked. 
34.下拉列表框的值:document.forms[0].selectName.options[n].&#118alue (n有時用下拉列表框名稱加上.selectedIndex來確定被選中的值) 
35.字符串的定義:var myString = new String("This is lightsword"); 
36.字符串轉成大寫:string.toUpperCase(); 字符串轉成小寫:string.toLowerCase(); 
37.返回字符串2在字符串1中出現的位置:String1.indexOf("String2")!=-1則說明沒找到. 
38.取字符串中指定位置的一個字符:StringA.charAt(9); 
39.取出字符串中指定起點和終點的子字符串:stringA.substring(2,6); 
40.數學函數:Math.PI(返回圓周率),Math.SQRT2(返回開方),Math.max(&#118alue1,&#118alue2)返回兩個數中的最在值,Math.pow(&#118alue1,10)返回&#118alue1的十次方,Math.round(&#118alue1)四舍五入函數,Math.floor(Math.random()*(n+1))返回隨機數 
41.定義日期型變量:var today = new Date(); 
42.日期函數列表:dateObj.getTime()得到時間,dateObj.getYear()得到年份,dateObj.getFullYear()得到四位的年份,dateObj.getMonth()得到月份,dateObj.getDate()得到日,dateObj.getDay()得到日期幾,dateObj.getHours()得到小時,dateObj.getMinutes()得到分,dateObj.getSeconds()得到秒,dateObj.setTime(&#118alue)設置時間,dateObj.setYear(val)設置年,dateObj.setMonth(val)設置月,dateObj.setDate(val)設置日,dateObj.setDay(val)設置星期幾,dateObj.setHours設置小時,dateObj.setMinutes(val)設置分,dateObj.setSeconds(val)設置秒  [註意:此日期時間從0開始計] 
43.FRAME的表示方式: [window.]frames[n].ObjFuncVarName,frames["frameName"].ObjFuncVarName,frameName.ObjFuncVarName 
44.parent代表父親對象,top代表最頂端對象 
45.打開子窗口的父窗口為:opener 
46.表示當前所屬的位置:this 
47.當在超鏈接中調用JS函數時用:(&#106avascript :)來開頭後面加函數名 
48.在老的瀏覽器中不執行此&#106s:<!–      //–> 
49.引用一個文件式的&#106s:<script type="text/&#106avascript" src="aaa.js"></script> 
50.指定在不支持腳本的瀏覽器顯示的HTML:<noscript></noscript> 
51.當超鏈和&#111nCLICK事件都有時,則老版本的瀏覽器轉向a.html,否則轉向b.html.例:<a href="a.html" &#111nclick="location.href=’b.html’;return false">dfsadf</a> 
52.JS的內建對象有:Array,Boolean,Date,Error,EvalError,Function,Math,Number,Object,RangeError,ReferenceError,RegExp,String,SyntaxError,TypeError,URIError 
53.JS中的換行:\n 
54.窗口全屏大小:<script>function fullScreen(){ this.moveTo(0,0);this.outerWidth=screen.availWidth;this.outerHeight=screen.availHeight;}window.maximize=fullScreen;</script> 
55.JS中的all代表其下層的全部元素 
56.JS中的焦點順序:document.getElementByid("表單元素").tabIndex = 1 
57.innerHTML的值是表單元素的值:如<p id="para">"how are <em>you</em>"</p>,則innerHTML的值就是:how are <em>you</em> 
58.innerTEXT的值和上面的一樣,隻不過不會把<em>這種標記顯示出來. 
59.contentEditable可設置元素是否可被修改,isContentEditable返回是否可修改的狀態. 
60.isDisabled判斷是否為禁止狀態.disabled設置禁止狀態 
61.length取得長度,返回整型數值 
62.addBehavior()是一種JS調用的外部函數文件其擴展名為.htc 
63.window.focus()使當前的窗口在所有窗口之前. 
64.blur()指失去焦點.與FOCUS()相反. 
65.select()指元素為選中狀態. 
66.防止用戶對文本框中輸入文本:onfocus="this.blur()" 
67.取出該元素在頁面中出現的數量:document.all.tags("p(或其它HTML標記符)").length 
68.JS中分為兩種窗體輸出:模態和非模態.window.showModaldialog(),window.showModeless() 
69.狀態欄文字的設置:window.status=’文字’,默認的狀態欄文字設置:window.defaultStatus = ’文字.’; 
70.添加到收藏夾:external.AddFavorite("http://www.dannyg.com";;,"jaskdlf"); 
71.JS中遇到腳本錯誤時不做任何操作:window.&#111nerror = doNothing; 指定錯誤句柄的語法為:window.&#111nerror = handleError; 
72.JS中指定當前打開窗口的父窗口:window.opener,支持opener.opener…的多重繼續. 
73.JS中的self指的是當前的窗口 
74.JS中狀態欄顯示內容:window.status="內容" 
75.JS中的top指的是框架集中最頂層的框架 
76.JS中關閉當前的窗口:window.close(); 
77.JS中提出是否確認的框:if(confirm("Are you sure?")){alert("ok");}else{alert("Not Ok");} 
78.JS中的窗口重定向:window.navigate("http://www.sina.com.cn";;); 
79.JS中的打印:window.print() 
80.JS中的提示輸入框:window.prompt("message","defaultReply"); 
81.JS中的窗口滾動條:window.scroll(x,y) 
82.JS中的窗口滾動到位置:window.scrollby 
83.JS中設置時間間隔:setInterval("expr",msecDelay)或setInterval(funcRef,msecDelay)或setTimeout 
84.JS中的模態顯示在IE4+行,在NN中不行:showModalDialog("URL"[,arguments][,features]); 
85.JS中的退出之前使用的句柄:function verifyClose(){event.return&#118alue="we really like you and hope you will stay longer.";}}  window.onbeforeunload=verifyClose; 
86.當窗體第一次調用時使用的文件句柄:onload() 
87.當窗體關閉時調用的文件句柄:onunload() 
88.window.location的屬性: protocol(http:),hostname(www.example.com),port(80),host(www.example.com:80),pathname("/a/a.html"),hash("#giantGizmo",指跳轉到相應的錨記),href(全部的信息) 
89.window.location.reload()刷新當前頁面. 
90.window.history.back()返回上一頁,window.history.forward()返回下一頁,window.history.go(返回第幾頁,也可以使用訪問過的URL) 
91.document.write()不換行的輸出,document.writeln()換行輸出 
92.document.body.noWrap=true;防止鏈接文字折行. 
93.變量名.charAt(第幾位),取該變量的第幾位的字符. 
94."abc".charCodeAt(第幾個),返回第幾個字符的ASCii碼值. 
95.字符串連接:string.concat(string2),或用+=進行連接 
96.變量.indexOf("字符",起始位置),返回第一個出現的位置(從0開始計算) 
97.string.lastIndexOf(searchString[,startIndex])最後一次出現的位置. 
98.string.match(regExpression),判斷字符是否匹配. 
99.string.replace(regExpression,replaceString)替換現有字符串. 
100.string.split(分隔符)返回一個數組存儲值. 
101.string.substr(start[,length])取從第幾位到指定長度的字符串. 
102.string.toLowerCase()使字符串全部變為小寫. 
103.string.toUpperCase()使全部字符變為大寫. 
104.parseInt(string[,radix(代表進制)])強制轉換成整型. 
105.parseFloat(string[,radix])強制轉換成浮點型. 
106.isNaN(變量):測試是否為數值型. 
107.定義常量的關鍵字:const,定義變量的關鍵字:var 
javascript 常用驗證 – []
山裡的孩子 發表於 2006-04-20

 

一、驗證類
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、樹型結構。
6.1 asp+SQL版
6.2 asp+xml+sql版
6.3 java+sql或者java+sql+xml
7、無邊框效果的制作
8、連動下拉框技術
9、文本排序
—————————————————————————————

一、驗證類
1、數字驗證內
1.1 整數
/^(-|\+)?\d+$/.test(str)
1.2 大於0的整數 (用於傳來的ID的驗證)
/^\d+$/.test(str)
1.3 負整數的驗證
/^-\d+$/.test(str)
2、時間類
2.1 短時間,形如 (13:04:06)
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("時間格式不對");
return false
}
return true;
}
2.2 短日期,形如 (2003-12-05)
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]);
}
2.3 長時間,形如 (2003-12-05 13:04:06)
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]);
}
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 判斷字符由字母和數字,下劃線,點號組成.且開頭的隻能是下劃線和字母
/^([a-zA-z_]{1})([\w]*)$/g.test(str)
4.4 字符串替換函數.Replace();
5、瀏覽器類
5.1 判斷瀏覽器的類型
window.navigator.appName
5.2 判斷ie的版本
window.navigator.appVersion
5.3 判斷客戶端的分辨率
window.screen.height; window.screen.width;

6、結合類
6.1 email的判斷。
function ismail(mail)
{
return(new RegExp(/^\w+((-\w+)|(\.\w+))*\-AT-[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/).test(mail));
}
6.2 手機號碼的驗證
6.3 身份證的驗證
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;
}
————————————————————————————-

3.7 復選框的全選,多選,全不選,反選

全選

 

 

 

 

 

 

全選

 

 

 

 

 

 

 

function checkAll(str)
{
var a = document.getElementsByName(str);
var n = a.length;
for (var i=0; ia[i].checked = window.event.srcElement.checked;
}
function checkItem(str)
{
var e = window.event.srcElement;
var all = eval("document.hrong."+ str);
if (e.checked)
{
var a = document.getElementsByName(e.name);
all.checked = true;
for (var i=0; i{
if (!a[i].checked){ all.checked = false; break;}
}
}
else all.checked = false;
}

3.8 文件上傳過程中判斷文件類型

————————————————————————————-
1.身份證嚴格驗證:

 

2.驗證IP地址

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

 

3.加sp1後還能用的無邊框窗口!!

 

 

/*— Special Thanks For andot —*/

/*
This following code are designed and writen by Windy_sk
You can use it freely, but u must held all the copyright items!
/

/- Thanks For andot Again —*/

var CW_width = 400;
var CW_height = 300;
var CW_top = 100;
var CW_left = 100;
var CW_url = "/";
var New_CW = window.createPopup();
var CW_Body = New_CW.document.body;
var content = "";
var CSStext = "margin:1px;color:black; border:2px outset;border-style:expression(onmouseout=onmouseup=function(){this.style.borderStyle='outset'}, onmousedown=function(){if(event.button!=2)this.style.borderStyle='inset'});background-color:buttonface;width:16px;height:14px;font-size:12px;line-height:11px;cursor:Default;";

//Build Window
include.startDownload(CW_url, function(source){content=source});

function insert_content(){
var temp = "";
CW_Body.style.overflow = "hidden";
CW_Body.style.backgroundColor = "white";
CW_Body.style.border = "solid black 1px";
content = content.replace(/]*)>/g,"");
temp += "";
temp += "";
temp += "Chromeless Window For IE6 SP1";
temp += "";
temp += "?";
temp += "0";
temp += "1";
temp += "x";
temp += "";
temp += "";
temp += content;
temp += "

";
temp += "";
CW_Body.innerHTML = temp;
}

setTimeout("insert_content()",1000);

var if_max = true;
function show_CW(){
window.moveTo(10000, 10000);
if(if_max){
New_CW.show(CW_top, CW_left, CW_width, CW_height);
if(typeof(New_CW.document.all.include)!="undefined"){
New_CW.document.all.include.style.width = CW_width;
New_CW.document.all.Max.innerText = "1";
}

}else{
New_CW.show(0, 0, screen.width, screen.height);
New_CW.document.all.include.style.width = screen.width;
}
}

window.onfocus = show_CW;
window.onresize = show_CW;

// Move Window
var drag_x,drag_y,draging=false

function drag_move(e){
if (draging){
New_CW.show(e.screenX-drag_x, e.screenY-drag_y, CW_width, CW_height);
return false;
}
}

function drag_down(e){
if(e.button==2)return;
if(New_CW.document.body.offsetWidth==screen.width && New_CW.document.body.offsetHeight==screen.height)return;
drag_x=e.clientX;
drag_y=e.clientY;
draging=true;
e.srcElement.setCapture();
}

function drag_up(e){
draging=false;
e.srcElement.releaseCapture();
if(New_CW.document.body.offsetWidth==screen.width && New_CW.document.body.offsetHeight==screen.height) return;
CW_top = e.screenX-drag_x;
CW_left = e.screenY-drag_y;
}

 
電話號碼的驗證

要求:
  (1)電話號碼由數字、"("、")"和"-"構成
  (2)電話號碼為3到8位
  (3)如果電話號碼中包含有區號,那麼區號為三位或四位
  (4)區號用"("、")"或"-"和其他部分隔開
  (5)移動電話號碼為11或12位,如果為12位,那麼第一位為0
  (6)11位移動電話號碼的第一位和第二位為"13"
  (7)12位移動電話號碼的第二位和第三位為"13"
  根據這幾條規則,可以與出以下正則表達式:
  (^[0-9]{3,4}\-[0-9]{3,8}$)|(^[0-9]{3,8}$)|(^\([0-9]{3,4}\)[0-9]{3,8}$)|(^0{0,1}13[0-9]{9}$)

 

function PhoneCheck(s) {
var str=s;
var reg=/(^[0-9]{3,4}\-[0-9]{3,8}$)|(^[0-9]{3,8}$)|(^\([0-9]{3,4}\)[0-9]{3,8}$)|(^0{0,1}13[0-9]{9}$)/
alert(reg.test(str));
}

 

————————————————————————————–

———————————————————————————

//檢驗法人代碼
function isCorporationCode(s){
var patrn=/^(\d){15}$/;
if (!patrn.exec(s)) return false
return true
}

//校驗登錄名:隻能輸入5-20個以字母開頭、可帶數字、“_”、“.”的字串
function isRegisterUserName(s)
{
var patrn=/^[a-zA-Z]{1}([a-zA-Z0-9._]){4,19}$/;
if (!patrn.exec(s)) return false
return true
}
//校驗用戶姓名:隻能輸入1-30個以字母開頭的字串
function isTrueName(s)
{
var patrn=/^[^`~!@#$%^&*()+-=|\\\[\]\{\}:;\'\,.<>/? 0-9]{2,19}$/;
if (!patrn.exec(s)) return false
return true
}

//校驗密碼:隻能輸入6-15個字母、數字
function isPasswd(s)
{
var patrn=/^[a-zA-Z0-9]{6,15}$/;
if (!patrn.exec(s)) return false
return true
}

//檢驗體重
function isAvoirdupois(s)
{
var patrn=/^[1-9]{1}[0-9]{0,2}$/;
var patrn2=/^[1-9]{1}$/;
var intPart=s.indexOf('.');
var decPart=s.lastIndexOf('.');
if (intPart==-1 && patrn.exec(s) && eval(s)>=2 && eval(s)<=200) return true
if (intPart!=decPart || intPart==0 || intPart+2!=s.length) return false
if (!patrn.exec(s.substring(0,intPart)) || !patrn2.exec(s.substring(decPart+1))) return false
if (eval(s)<2 || eval(s)>200) return false
return true
}

//校驗普通電話、傳真號碼:可以“+”開頭,除數字外,可含有“-”
function isTel(s)
{
var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/;
if (!patrn.exec(s)) return false
return true
}

//校驗手機號碼:必須以數字開頭,除數字外,可含有“-”
function isMobile(s)
{
var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/;
if (!patrn.exec(s)) return false
return true
}

//校驗地區代碼
function isAreaCode(s)
{
var patrn=/^(\d){6}$/;
if (!patrn.exec(s)) return false
return true
}

//校驗郵政編碼
function isPostalCode(s)
{
var patrn=/^[1-9]{1}(\d){5}$/;
if (!patrn.exec(s)) return false
return true
}

//校驗搜索關鍵字
function isSearch(s)
{
var patrn=/^[^`~!@#$%^&*()+=|\\\[\]\{\}:;\'\,.<>/? ]{1}[^`~!@$%^&()+=|\\\[\]\{\}:;\'\,.<>?]{0,19}$/;
if (!patrn.exec(s)) return false
return true
}

//校驗是否為ip地址
function isIP(s)
{
var patrn=/^[0-9.]{1,20}$/;
if (!patrn.exec(s)) return false
return true
}

//檢驗頁碼是否正確
function isPage(s)
{
var patrn=/^[1-9]{1}[0-9]{0,2}$/;
if (!patrn.exec(s)) return false
return true
}

//表單輸入值錯誤提示
function vErr(o,s){
alert(s);
if (o) o.focus();
return false;
}

//判斷單選
function chkRadio(o){
for (i=0;iif (o[i].checked) return true;
}
return false;
}
//====================================表單類================================
// 文件上傳過程中判斷文件類型
/*

/

//表單的值不能為空
function isNull(elem){
//var pattern=/^\s+|\s+$/;
if(elem.replace(/(^\s+|\s$)/g, "")==""){
return false;
}else{
return true;
}
}
//不能超過imax字符
function imax(elem){
if(elem.length>imax){
return false;
}else{
return true;
}
}
//不能少於imix字符
function imix(elem){
if(elem.lengthreturn false;
}else{
return true;
}
}
//輸入為中文判斷
function isChinese(elem){
var pattern=/[^\x00-\xff]/g;
if(pattern.test(elem)){
//包含中文
return false;
}else{
//不包含中文
return true;
}
}

/ *********************************************************************************************************************

 

 

 

.cMenu {
FILTER: alpha(opacity=0);BACKGROUND-COLOR: #D6D3CE;BORDER-BOTTOM: #666666 2px solid; BORDER-LEFT: #E4E4E4 2px solid; BORDER-RIGHT: #666666 2px solid; BORDER-TOP: #E4E4E4 2px solid; COLOR: #000000; CURSOR: default; FONT-SIZE: 9pt; color:#000000;FONT-WEIGHT: normal; LINE-HEIGHT: 20px; POSITION: absolute; VISIBILITY: hidden; WIDTH: 110px
}
.menuitems {
font-size:9pt;
MARGIN: 2px;
PADDING-BOTTOM: 0px;
PADDING-LEFT: 15px;
PADDING-RIGHT: 3px;
PADDING-TOP: 0px;
}

 

 

 

<!–[if IE]>
onmouseover=highlightie5()>

電話號碼的驗證

要求:
  (1)電話號碼由數字、"("、")"和"-"構成
  (2)電話號碼為3到8位
  (3)如果電話號碼中包含有區號,那麼區號為三位或四位
  (4)區號用"("、")"或"-"和其他部分隔開
  (5)移動電話號碼為11或12位,如果為12位,那麼第一位為0
  (6)11位移動電話號碼的第一位和第二位為"13"
  (7)12位移動電話號碼的第二位和第三位為"13"
  根據這幾條規則,可以與出以下正則表達式:
  (^[0-9]{3,4}\-[0-9]{3,8}$)|(^[0-9]{3,8}$)|(^\([0-9]{3,4}\)[0-9]{3,8}$)|(^0{0,1}13[0-9]{9}$)

<script language="javascript">
function PhoneCheck(s) {
var str=s;
var reg=/(^[0-9]{3,4}\-[0-9]{3,8}$)|(^[0-9]{3,8}$)|(^\([0-9]{3,4}\)[0-9]{3,8}$)|(^0{0,1}13[0-9]{9}$)/
alert(reg.test(str));
}
</script>
<input type=text name="iphone">
<input type=button onclick="PhoneCheck(document.all.iphone.value)" value="Check">
—————————————————————————————-

<%
'********************************************
'函數功能:正則表達式校驗
'參數patrn:要校驗的類型
' "User" – 用戶名
' "Truename" – 英文姓名
' "Passwd" – 密碼
' "Tel" – 電話/傳真
' "Mobil" – 手機
' "Date" – 日期(格式:yyyy-mm-dd)
' "Email" – 電子郵件
' "Postalcode" – 郵政編碼
' "Search" – 搜索關鍵字
' "Int" – 整數
'參數strng:要校驗的字串
'返回值:校驗結果,正確返回true,錯誤返回false
'********************************************
Function IsVerify(patrn,strng)
strng=Trim(strng)
Select Case patrn
Case "User" '用戶名
patrn="^[a-z]{1}([a-z0-9]|[._]){2,19}$"
Case "Truename" '英文姓名
patrn="^[a-zA-Z]{1,30}$"
Case "Passwd" '密碼
patrn="^(\w){6,20}$"
Case "Tel" '電話/傳真
patrn="^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$"
Case "Mobil" '手機
patrn="^(\d)+[-]?(\d){6,12}$"
Case "Date" '日期(格式:yyyy-mm-dd)
patrn="^[12]{1}(\d){3}[-][01]?(\d){1}[-][0123]?(\d){1}$"
Case "Email" '電子郵件
patrn="^((\w)|[-]|[.])+@(((\w)|[-])+[.])+[a-z]{2,4}$"
Case "Postalcode" '郵政編碼
patrn="^[a-z0-9 ]{3,12}$"
Case "Search" '搜索關鍵字
patrn="^[^`~!@#$%^&*()+=|\\\[\]\{\}:;\'\,.<>/?]{1}[^`~!@$%^&()+=|\\\[\]\{\}:;\'\,.<>?]{0,19}$"
Case "Int" '整數
patrn="^[1-9]{1}[0-9]{0,6}$"
Case "Array"
patrn="^[0-9]{1}([0-9]|[\,]){0,150}$"
End Select
Dim regEx
Dim Match
Set regEx = New RegExp
regEx.Pattern = patrn
regEx.IgnoreCase = True
regEx.Global = True
Matches = regEx.test(strng)
IsVerify = Matches
Set regEx = Nothing
End Function

'********************************************
'函數功能:對輸入框的特殊字串進行過濾保存
'參數strPass:過濾前的字符串
'返回值:過濾後的字符串
'********************************************
Function SQLencode(byVal strPass)
strPass = Replace(strPass, "&", "&")
strPass = Replace(strPass, "<", "<")
strPass = Replace(strPass, ">", ">")
strPass = Replace(strPass, """", """)
strPass = Replace(strPass, "'", "'")
strPass = Replace(strPass, " ", " ")
strPass = Replace(strPass,chr(13)&chr(10),"<br/>")
SQLencode = strPass
End Function

'********************************************
'函數功能:對SQLencode函數過濾後的字符串進行還原
'參數strPass:經過過濾後的字符串
'返回值:還原的過濾前的字符串
'********************************************
Function SQLdecode(byVal strPass)
If Not isNull(strPass) Then
strPass = Replace(strPass, "<", "<")
strPass = Replace(strPass, ">", ">")
strPass = Replace(strPass, ""","""" )
strPass = Replace(strPass, "'","'" )
strPass = Replace(strPass,"<br/>",chr(13)&chr(10))
End If
SQLdecode = strPass
End Function

'********************************************
'函數功能:生成隨機密碼(字符為數字與大小寫字母集合)
'參數length:密碼長度
'返回值:隨機密碼
'********************************************
Function random(length)
Dim n,str
rnds=""
Randomize
For i=1 To length
n=Int(75*Rnd+48)
If (n>57 and n<65) Or (n>90 and n<97) Then
i=i-1
Else
rnds=rnds&Chr(n)
End If
Next
random=rnds
End Function

'********************************************
'函數功能:對密碼進行加密/解密(最大長度為15位)
'********************************************
Function Encrypt(preString)
Dim pwds,s
pwds=""
s=Left(preString,15)
For i=1 To Len(s)
seed=170-Asc(Mid(s,i,1))-i
pwds=pwds & Chr(seed)
Next
Encrypt=pwds
End Function

'********************************************
'函數功能:格式化當前時間字串
'參數:無
'返回值:返回當前時間的純數字字符串方式的表示(例如:當前時間2001-10-3 2:34:6,返回字符串"20011003023406")
'********************************************
Function TheDate()
y=year(date())
m=month(date())
d=day(date())
h=Hour(time())
n=Minute(time())
s=Second(time())
If Len(m)=1 Then m="0"&m
If Len(d)=1 Then d="0"&d
If Len(h)=1 Then h="0"&h
If Len(n)=1 Then n="0"&n
If Len(s)=1 Then s="0"&s
thedate=y&m&d&h&n&s
End Function

'********************************************
'函數功能:返回字符串的長度
'參數:字符串
'返回值:字符串長度
'********************************************
Function strLen(str)
dim p_len
p_len=0
strlen=0
if trim(str)<>"" then
p_len=len(trim(str))
for xx=1 to p_len
if asc(mid(str,xx,1))<0 then
strlen=int(strlen) + 2
else
strlen=int(strlen) + 1
end if
next
end if
End Function

'********************************************
'函數功能:發送郵件通知
'參數:字符串
'返回值:成功/失敗
'********************************************
Function SendMail(ToAddress, Subject, Body)
On Error Resume Next
Set objMail = Server.CreateObject("JMail.Message")
objMail.From = ADR_Email
objMail.FromName = "ADR管理中心"
objMail.Subject = Subject
objMail.AddRecipient ToAddress
objMail.Body = Body
If objMail.Send("") Then
SendMail = True
Else
SendMail = False
End If
If Err.Number<> 0 Then SendMail = False
Set objMail = Nothing
On Error Goto 0
End Function
%>
———————————————————————————–

//檢驗法人代碼
function isCorporationCode(s){
var patrn=/^(\d){15}$/;
if (!patrn.exec(s)) return false
return true
}

//校驗登錄名:隻能輸入5-20個以字母開頭、可帶數字、“_”、“.”的字串
function isRegisterUserName(s)
{
var patrn=/^[a-zA-Z]{1}([a-zA-Z0-9._]){4,19}$/;
if (!patrn.exec(s)) return false
return true
}
//校驗用戶姓名:隻能輸入1-30個以字母開頭的字串
function isTrueName(s)
{
var patrn=/^[^`~!@#$%^&*()+-=|\\\[\]\{\}:;\'\,.<>/? 0-9]{2,19}$/;
if (!patrn.exec(s)) return false
return true
}

//校驗密碼:隻能輸入6-15個字母、數字
function isPasswd(s)
{
var patrn=/^[a-zA-Z0-9]{6,15}$/;
if (!patrn.exec(s)) return false
return true
}

//檢驗體重
function isAvoirdupois(s)
{
var patrn=/^[1-9]{1}[0-9]{0,2}$/;
var patrn2=/^[1-9]{1}$/;
var intPart=s.indexOf('.');
var decPart=s.lastIndexOf('.');
if (intPart==-1 && patrn.exec(s) && eval(s)>=2 && eval(s)<=200) return true
if (intPart!=decPart || intPart==0 || intPart+2!=s.length) return false
if (!patrn.exec(s.substring(0,intPart)) || !patrn2.exec(s.substring(decPart+1))) return false
if (eval(s)<2 || eval(s)>200) return false
return true
}

//校驗普通電話、傳真號碼:可以“+”開頭,除數字外,可含有“-”
function isTel(s)
{
var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/;
if (!patrn.exec(s)) return false
return true
}

//校驗手機號碼:必須以數字開頭,除數字外,可含有“-”
function isMobile(s)
{
var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/;
if (!patrn.exec(s)) return false
return true
}

//校驗地區代碼
function isAreaCode(s)
{
var patrn=/^(\d){6}$/;
if (!patrn.exec(s)) return false
return true
}

//校驗郵政編碼
function isPostalCode(s)
{
var patrn=/^[1-9]{1}(\d){5}$/;
if (!patrn.exec(s)) return false
return true
}

//校驗搜索關鍵字
function isSearch(s)
{
var patrn=/^[^`~!@#$%^&*()+=|\\\[\]\{\}:;\'\,.<>/? ]{1}[^`~!@$%^&()+=|\\\[\]\{\}:;\'\,.<>?]{0,19}$/;
if (!patrn.exec(s)) return false
return true
}

//校驗是否為ip地址
function isIP(s)
{
var patrn=/^[0-9.]{1,20}$/;
if (!patrn.exec(s)) return false
return true
}

//檢驗頁碼是否正確
function isPage(s)
{
var patrn=/^[1-9]{1}[0-9]{0,2}$/;
if (!patrn.exec(s)) return false
return true
}

//表單輸入值錯誤提示
function vErr(o,s){
alert(s);
if (o) o.focus();
return false;
}

//判斷單選
function chkRadio(o){
for (i=0;i<o.length;i++){
if (o[i].checked) return true;
}
return false;
}

摘自 chaojie2009的專欄

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *