b/s開(kāi)發(fā)常用javaScript技術(shù)第2/4頁(yè)
更新時(shí)間:2006年09月07日 00:00:00 作者:
一、驗(yàn)證類
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í)間類
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、表單類
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ò)程中判斷文件類型
4、字符類
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、瀏覽器類
5.1 判斷瀏覽器的類型
window.navigator.appName
5.2 判斷ie的版本
window.navigator.appVersion
5.3 判斷客戶端的分辨率
window.screen.height; window.screen.width;
6、結(jié)合類
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="java script">
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>
相關(guān)文章
JS 無(wú)限級(jí) Select效果實(shí)現(xiàn)代碼(json格式)
JS 無(wú)限級(jí) Select效果實(shí)現(xiàn)代碼(json格式),學(xué)習(xí)js的朋友可以參考下。2011-08-08JavaScript Select和Option列表元素上下左右移動(dòng)
支持一次選中多項(xiàng)在左右列表中來(lái)回移動(dòng)2008-12-12IE不支持option的display樣式,只能使用remove和add
想實(shí)現(xiàn)一個(gè)很簡(jiǎn)單的功能:當(dāng)選中“中介”時(shí),不顯示“求購(gòu)”與“求租”。本以為通過(guò)display:none即可實(shí)現(xiàn),結(jié)果發(fā)現(xiàn)在option元素上使用display:none在firefox中有效,在IE6、IE7、IE8中都無(wú)效。2009-12-12同一個(gè)表單 根據(jù)要求遞交到不同頁(yè)面的實(shí)現(xiàn)方法小結(jié)
同一個(gè)表單 根據(jù)要求遞交到不同頁(yè)面的實(shí)現(xiàn)方法,就是好多網(wǎng)站,可以百度一個(gè)表單可以搜索音樂(lè),圖片等2009-08-08javascript 09年最新版的省市聯(lián)動(dòng)
省市聯(lián)動(dòng)代碼,最新版。2009-04-04