|
1、數(shù)字驗(yàn)證內(nèi)
1.1 整數(shù)
1.2 大于0的整數(shù) (用于傳來(lái)的ID的驗(yàn)證)
1.3 負(fù)整數(shù)的驗(yàn)證
1.4 整數(shù)不能大于iMax
1.5 整數(shù)不能小于iMin
2、時(shí)間類(lèi)
2.1 短時(shí)間,形如 (13:04:06)
2.2 短日期,形如 (2003-12-05)
2.3 長(zhǎng)時(shí)間,形如 (2003-12-05 13:04:06)
2.4 只有年和月。形如(2003-05,或者2003-5)
2.5 只有小時(shí)和分鐘,形如(12:03)
3、表單類(lèi)
3.1 所有的表單的值都不能為空
3.2 多行文本框的值不能為空。
3.3 多行文本框的值不能超過(guò)sMaxStrleng
3.4 多行文本框的值不能少于sMixStrleng
3.5 判斷單選框是否選擇。
3.6 判斷復(fù)選框是否選擇.
3.7 復(fù)選框的全選,多選,全不選,反選
3.8 文件上傳過(guò)程中判斷文件類(lèi)型
4、字符類(lèi)
4.1 判斷字符全部由a-Z或者是A-Z的字字母組成
4.2 判斷字符由字母和數(shù)字組成。
4.3 判斷字符由字母和數(shù)字,下劃線,點(diǎn)號(hào)組成.且開(kāi)頭的只能是下劃線和字母
4.4 字符串替換函數(shù).Replace();
5、瀏覽器類(lèi)
5.1 判斷瀏覽器的類(lèi)型
5.2 判斷ie的版本
5.3 判斷客戶端的分辨率
6、結(jié)合類(lèi)
6.1 email的判斷。
6.2 手機(jī)號(hào)碼的驗(yàn)證
6.3 身份證的驗(yàn)證
二、功能類(lèi)
1、時(shí)間與相關(guān)控件類(lèi)
1.1 日歷
1.2 時(shí)間控件
1.3 萬(wàn)年歷
1.4 顯示動(dòng)態(tài)顯示時(shí)鐘效果(文本,如OA中時(shí)間)
1.5 顯示動(dòng)態(tài)顯示時(shí)鐘效果 (圖像,像手表)
2、表單類(lèi)
2.1 自動(dòng)生成表單
2.2 動(dòng)態(tài)添加,修改,刪除下拉框中的元素
2.3 可以輸入內(nèi)容的下拉框
2.4 多行文本框中只能輸入iMax文字。如果多輸入了,自動(dòng)減少到iMax個(gè)文字(多用于短信發(fā)送)
3、打印類(lèi)
3.1 打印控件
4、事件類(lèi)
4.1 屏蔽右鍵
4.2 屏蔽所有功能鍵
4.3 --> 和<-- F5 F11,F9,F1
4.4 屏蔽組合鍵ctrl+N
5、網(wǎng)頁(yè)設(shè)計(jì)類(lèi)
5.1 連續(xù)滾動(dòng)的文字,圖片(注意是連續(xù)的,兩段文字和圖片中沒(méi)有空白出現(xiàn))
5.2 html編輯控件類(lèi)
5.3 顏色選取框控件
5.4 下拉菜單
5.5 兩層或多層次的下拉菜單
5.6 仿IE菜單的按鈕。(效果如rongshuxa.com的導(dǎo)航欄目)
5.7 狀態(tài)欄,title欄的動(dòng)態(tài)效果(例子很多,可以研究一下)
5.8 雙擊后,網(wǎng)頁(yè)自動(dòng)滾屏
6、樹(shù)型結(jié)構(gòu)。
6.1 ASP+SQL版
6.2 ASP+xml+sql版
6.3 Java+sql或者Java+sql+xml
7、無(wú)邊框效果的制作
8、連動(dòng)下拉框技術(shù)
9、文本排序
一、驗(yàn)證類(lèi)
1、數(shù)字驗(yàn)證內(nèi)
1.1 整數(shù)
/^(-|/+)?/d+$/.test(str)
1.2 大于0的整數(shù) (用于傳來(lái)的ID的驗(yàn)證)
/^/d+$/.test(str)
1.3 負(fù)整數(shù)的驗(yàn)證
/^-/d+$/.test(str)
2、時(shí)間類(lèi)
2.1 短時(shí)間,形如 (13:04:06)
function isTime(str)
{
var a = str.match(/^(/d{1,2})(:)?(/d{1,2})/2(/d{1,2})$/);
if (a == null) {alert('輸入的參數(shù)不是時(shí)間格式'); return false;}
if (a[1]>24 || a[3]>60 || a[4]>60)
{
alert("時(shí)間格式不對(duì)");
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 長(zhǎng)時(shí)間,形如 (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 只有小時(shí)和分鐘,形如(12:03)
3、表單類(lèi)
3.1 所有的表單的值都不能為空
<input onblur="if(this.value.replace(/^/s+|/s+$/g,'')=='')alert('不能為空!')">
3.2 多行文本框的值不能為空。
3.3 多行文本框的值不能超過(guò)sMaxStrleng
3.4 多行文本框的值不能少于sMixStrleng
3.5 判斷單選框是否選擇。
3.6 判斷復(fù)選框是否選擇.
3.7 復(fù)選框的全選,多選,全不選,反選
3.8 文件上傳過(guò)程中判斷文件類(lèi)型
4、字符類(lèi)
4.1 判斷字符全部由a-Z或者是A-Z的字字母組成
<input onblur="if(/[^a-zA-Z]/g.test(this.value))alert('有錯(cuò)')">
4.2 判斷字符由字母和數(shù)字組成。
<input onblur="if(/[^0-9a-zA-Z]/g.test(this.value))alert('有錯(cuò)')">
4.3 判斷字符由字母和數(shù)字,下劃線,點(diǎn)號(hào)組成.且開(kāi)頭的只能是下劃線和字母
/^([a-zA-z_]{1})([/w]*)$/g.test(str)
4.4 字符串替換函數(shù).Replace();
5、瀏覽器類(lèi)
5.1 判斷瀏覽器的類(lèi)型
window.navigator.appName
5.2 判斷ie的版本
window.navigator.appVersion
5.3 判斷客戶端的分辨率
window.screen.height; window.screen.width;
6、結(jié)合類(lèi)
6.1 email的判斷。
function ismail(mail)
{
return(new RegExp(/^/w+((-/w+)|(/./w+))*/@[A-Za-z0-9]+((/.|-)[A-Za-z0-9]+)*/.[A-Za-z0-9]+$/).test(mail));
}
6.2 手機(jī)號(hào)碼的驗(yàn)證
6.3 身份證的驗(yàn)證
function isIdCardNo(num)
{
if (isNaN(num)) {alert("輸入的不是數(shù)字!"); 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("輸入的數(shù)字位數(shù)不對(duì)!"); 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("輸入的身份證號(hào) "+ a[0] +" 里出生日期不對(duì)!"); return false;}
}
return true;
}
3.7 復(fù)選框的全選,多選,全不選,反選
<form name=hrong>
<input type=checkbox name=All onclick="checkAll('mm')">全選<br/>
<input type=checkbox name=mm onclick="checkItem('All')"><br/>
<input type=checkbox name=mm onclick="checkItem('All')"><br/>
<input type=checkbox name=mm onclick="checkItem('All')"><br/>
<input type=checkbox name=mm onclick="checkItem('All')"><br/>
<input type=checkbox name=mm onclick="checkItem('All')"><br/><br/>
<input type=checkbox name=All2 onclick="checkAll('mm2')">全選<br/>
<input type=checkbox name=mm2 onclick="checkItem('All2')"><br/>
<input type=checkbox name=mm2 onclick="checkItem('All2')"><br/>
<input type=checkbox name=mm2 onclick="checkItem('All2')"><br/>
<input type=checkbox name=mm2 onclick="checkItem('All2')"><br/>
<input type=checkbox name=mm2 onclick="checkItem('All2')"><br/>
</form>
<SCRIPT LANGUAGE="JavaScript">
function checkAll(str)
{
var a = document.getElementsByName(str);
var n = a.length;
for (var i=0; i<n; i++)
a[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<a.length; i++)
{
if (!a[i].checked){ all.checked = false; break;}
}
}
else all.checked = false;
}
</SCRIPT>
3.8 文件上傳過(guò)程中判斷文件類(lèi)型
<input type=file onchange="alert(this.value.match(/^(.*)(/.)(.{1,8})$/)[3])">
畫(huà)圖:
<OBJECT
id=S
style="LEFT: 0px; WIDTH: 392px; TOP: 0px; HEIGHT: 240px"
height=240
width=392
classid="clsid:369303C2-D7AC-11D0-89D5-00A0C90833E6">
</OBJECT>
<SCRIPT>
S.DrawingSurface.ArcDegrees(0,0,0,30,50,60);
S.DrawingSurface.ArcRadians(30,0,0,30,50,60);
S.DrawingSurface.Line(10,10,100,100);
</SCRIPT>
寫(xiě)注冊(cè)表:
<SCRIPT>
var WshShell = WScript.CreateObject("WScript.Shell");
WshShell.RegWrite ("HKCU//Software//ACME//FortuNETeller//", 1, "REG_BINARY");
WshShell.RegWrite ("HKCU//Software//ACME//FortuNETeller//MindReader", "Goocher!", "REG_SZ");
var bKey = WshShell.RegRead ("HKCU//Software//ACME//FortuNETeller//");
WScript.Echo (WshShell.RegRead ("HKCU//Software//ACME//FortuNETeller//MindReader"));
WshShell.RegDelete ("HKCU//Software//ACME//FortuNETeller//MindReader");
WshShell.RegDelete ("HKCU//Software//ACME//FortuNETeller//");
WshShell.RegDelete ("HKCU//Software//ACME//");
</SCRIPT>
TABLAE相關(guān)(客戶端動(dòng)態(tài)增加行列)
<HTML>
<SCRIPT LANGUAGE="JScript">
function numberCells() {
var count=0;
for (i=0; i < document.all.mytable.rows.length; i++) {
for (j=0; j < document.all.mytable.rows(i).cells.length; j++) {
document.all.mytable.rows(i).cells(j).innerText = count;
count++;
}
}
}
</SCRIPT>
<BODY onload="numberCells()">
<TABLE id=mytable border=1>
<TR><TH> </TH><TH> </TH><TH> </TH><TH> </TH></TR>
<TR><TD> </TD><TD> </TD><TD> </TD><TD> </TD></TR>
<TR><TD> </TD><TD> </TD><TD> </TD><TD> </TD></TR>
</TABLE>
</BODY>
</HTML>
1.身份證嚴(yán)格驗(yàn)證:
<script>
var aCity={11:"北京",12:"天津",13:"河北",14:"山西",15:"內(nèi)蒙古",21:"遼寧",22:"吉林",23:"黑龍江",31:"上海",32:"江蘇",33:"浙江",34:"安徽",35:"福建",36:"江西",37:"山東",41:"河南",42:"湖北",43:"湖南",44:"廣東",45:"廣西",46:"海南",50:"重慶",51:"四川",52:"貴州",53:"云南",54:"西藏",61:"陜西",62:"甘肅",63:"青海",64:"寧夏",65:"新疆",71:"臺(tái)灣",81:"香港",82:"澳門(mén)",91:"國(guó)外"}
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:非法地區(qū)";
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:非法證號(hào)";
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>
2.驗(yàn)證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>
JavaScript技術(shù):在B/S開(kāi)發(fā)中經(jīng)常用到的JavaScript技術(shù)第1/3頁(yè),轉(zhuǎn)載需保留來(lái)源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。