js驗(yàn)證表單大全 Kandy 發(fā)表于2009年 做了一個(gè)javascript表單驗(yàn)證,個(gè)人覺得還可以,?;拘Ч谦@得焦點(diǎn)顯示提示信息,失去焦點(diǎn)進(jìn)行驗(yàn)證,。 1,、用戶名驗(yàn)證:匹配規(guī)則為4到16個(gè)字符(包括字母和數(shù)字)。代碼如下: function isNumberOrLetter(s)//判斷是否是數(shù)字或字母,用于驗(yàn)證用戶名,,失去焦點(diǎn)驗(yàn)證,。 2、密碼驗(yàn)證:規(guī)則為6到16個(gè)字符,、下劃線,,第一個(gè)字符為字母。
function validatorPassword(s)//驗(yàn)證規(guī)則為6到16數(shù)字,、字母,、下劃線組成,首字母為字母,,用于驗(yàn)證密碼,。 3、密碼確認(rèn):驗(yàn)證兩次密碼必須一致,。 function passwordConfirm(s)//確認(rèn)密碼驗(yàn)證 4,、郵箱驗(yàn)證: function isEmail(strEmail) //郵箱驗(yàn)證 5,、身份證驗(yàn)證:包括15位和18位,。 function idNumber(s)//身份證驗(yàn)證 6,、手機(jī)號(hào)碼驗(yàn)證:13和15開頭的號(hào)碼。 function isMobileNO(s)//手機(jī)驗(yàn)證 7、各表單域提示信息,,獲得焦點(diǎn)驗(yàn)證,。 function displayInform(s)//注冊(cè)信息規(guī)則提示信息(獲得焦點(diǎn)驗(yàn)證) 8、表單提交驗(yàn)證:先對(duì)必填項(xiàng)進(jìn)行非空驗(yàn)證,,再進(jìn)行匹配驗(yàn)證,。 function submitValidator() //提交驗(yàn)證
本文來自CSDN博客,,轉(zhuǎn)載請(qǐng)標(biāo)明出處:http://blog.csdn.net/diershi/archive/2009/04/16/4084981.aspx JS表單驗(yàn)證 <script language="JavaScript">
/* *--------------- 客戶端表單通用驗(yàn)證CheckForm(oForm) ----------------- * 功能:通用驗(yàn)證所有的表單元素. * 使用: * <form name="form1" onsubmit="return CheckForm(this)"> * <input type="text" name="id" check="^\S+$" warning="id不能為空,且不能含有空格"/> * <input type="submit"/> * </form> * author:wanghr100(灰豆寶寶.net) * email:[email protected] * update:19:28 2004-8-23 * 注意:寫正則表達(dá)式時(shí)一定要小心.不要讓"有心人"有空子鉆. * 已實(shí)現(xiàn)功能: * 對(duì)text,password,hidden,file,textarea,select,radio,checkbox進(jìn)行合法性驗(yàn)證 * 待實(shí)現(xiàn)功能:把正則表式寫成個(gè)庫. *--------------- 客戶端表單通用驗(yàn)證CheckForm(oForm) ----------------- */ //////////////////////////////////////////////////////////////////////////////// //主函數(shù) function CheckForm(oForm) { var els = oForm.elements; //遍歷所有表元素 for(var i=0;i<els .length;i++) { //是否需要驗(yàn)證 if(els { //取得驗(yàn)證的正則字符串 var sReg = els //取得表單的值,用通用取值函數(shù) var sVal = GetValue(els //字符串->正則表達(dá)式,不區(qū)分大小寫 var reg = new RegExp(sReg,"i"); if(!reg.test(sVal)) { //驗(yàn)證不通過,彈出提示warning alert(els //該表單元素取得焦點(diǎn),用通用返回函數(shù) GoBack(els return false; } } } } //通用取值函數(shù)分三類進(jìn)行取值 //文本輸入框,直接取值el.value //單多選,遍歷所有選項(xiàng)取得被選中的個(gè)數(shù)返回結(jié)果"00"表示選中兩個(gè) //單多下拉菜單,遍歷所有選項(xiàng)取得被選中的個(gè)數(shù)返回結(jié)果"0"表示選中一個(gè) function GetValue(el) { //取得表單元素的類型 var sType = el.type; switch(sType) { case "text": case "hidden": case "password": case "file": case "textarea": return el.value; case "checkbox": case "radio": return GetValueChoose(el); case "select-one": case "select-multiple": return GetValueSel(el); } //取得radio,checkbox的選中數(shù),用"0"來表示選中的個(gè)數(shù),我們寫正則的時(shí)候就可以通過0{1,}來表示選中個(gè)數(shù) function GetValueChoose(el) { var sValue = ""; //取得第一個(gè)元素的name,搜索這個(gè)元素組 var tmpels = document.getElementsByName(el.name); for(var i=0;i<tmpels .length;i++) { if(tmpels { sValue += "0"; } } return sValue; } //取得select的選中數(shù),用"0"來表示選中的個(gè)數(shù),我們寫正則的時(shí)候就可以通過0{1,}來表示選中個(gè)數(shù) function GetValueSel(el) { var sValue = ""; for(var i=0;i<el.options.length;i++) { //單選下拉框提示選項(xiàng)設(shè)置為value="" if(el.options { sValue += "0"; } } return sValue; } } //通用返回函數(shù),驗(yàn)證沒通過返回的效果.分三類進(jìn)行取值 //文本輸入框,光標(biāo)定位在文本輸入框的末尾 //單多選,第一選項(xiàng)取得焦點(diǎn) //單多下拉菜單,取得焦點(diǎn) function GoBack(el) { //取得表單元素的類型 var sType = el.type; switch(sType) { case "text": case "hidden": case "password": case "file": case "textarea": el.focus();var rng = el.createTextRange(); rng.collapse(false); rng.select(); case "checkbox": case "radio": var els = document.getElementsByName(el.name);els[0].focus(); case "select-one": case "select-multiple":el.focus(); } } </script> 通用表單函數(shù)測(cè)試: <form name="form1" onsubmit="return CheckForm(this)"> test:<input type="text" name="test"/>不驗(yàn)證<br /> 賬號(hào):<input type="text" check="^\S+$" warning="賬號(hào)不能為空,且不能含有空格" name="id"/>不能為空<br /> 密碼:<input type="password" check="\S{6,}" warning="密碼六位以上" name="id"/>六位以上<br /> 電話:<input type="text" check="^\d+$" warning="電話號(hào)碼含有非法字符" name="number" value=""/><br /> 相片上傳:<input type="file" check="(.*)(\.jpg|\.bmp)$" warning="相片應(yīng)該為JPG,BMP格式的" name="pic" value="1"/><br /> 出生日期:<input type="text" check="^\d{4}\-\d{1,2}-\d{1,2}$" warning="日期格式2004-08-10" name="dt" value=""/>日期格式2004-08-10<br /> 省份: <select name="sel" check="^0$" warning="請(qǐng)選擇所在省份"> <option value="">請(qǐng)選擇 </option><option value="1">福建省 </option><option value="2">湖北省 </option></select> <br /> 選擇你喜歡的運(yùn)動(dòng):<br /> 游泳<input type="checkbox" name="c" check="^0{2,}$" warning="請(qǐng)選擇2項(xiàng)或以上"/> 籃球<input type="checkbox" name="c"/> 足球<input type="checkbox" name="c"/> 排球<input type="checkbox" name="c"/> <br /> 你的學(xué)歷: 大學(xué)<input type="radio" name="r" check="^0$" warning="請(qǐng)選擇一項(xiàng)學(xué)歷"/> 中學(xué)<input type="radio" name="r"/> 小學(xué)<input type="radio" name="r"/> <br /> 個(gè)人介紹: <textarea name="txts" check="^[\s|\S]{20,}$" warning="個(gè)人介紹不能為空,且不少于20字"></textarea>20個(gè)字以上 <input type="submit"/> </form> ---------------------------------------------
Javascript表單編程
對(duì)form元素進(jìn)行腳本編寫 </script> <img name="img1" src="C:\Documents and Settings\黃\桌面\1.jpg" width="200px" height="200px"> Document對(duì)象在檢驗(yàn)表單中的作用 轉(zhuǎn)載自 風(fēng)之戀 轉(zhuǎn)載于2009 1、直接用字符串鏈接,,代碼如下: 2,、利用DSN(數(shù)據(jù)源)鏈接,這種方法你要先創(chuàng)建一個(gè)DSN,,創(chuàng)建方法點(diǎn)擊服務(wù)器/控制面板/管理工具/數(shù)據(jù)源 (ODBC)圖標(biāo),,打開數(shù)據(jù)源管理器,在系統(tǒng)DSN選項(xiàng)卡中創(chuàng)建一個(gè)SQL Server的數(shù)據(jù)源,。鏈接代碼如下: 然而在DW MX中系統(tǒng)采用的二種方法,,具體步驟如下: 我覺得不管用DW MX 寫的程序怎么樣,,對(duì)于數(shù)據(jù)庫的連接文件(常用的是conn.asp),,我有兩個(gè)建議,一是在網(wǎng)上最好使用手寫的連接文件(下面詳細(xì)講如何寫),,二是引用數(shù)據(jù)庫時(shí)要在文件開頭使用<!--#include file="Connections/conn.asp" -->,,調(diào)用數(shù)據(jù)庫,這樣數(shù)據(jù)庫的名字或位置的改變就比較容易了,。 最后是關(guān)于使用sql數(shù)據(jù)庫的問題,不同的主頁服務(wù)商是不同的,。下面是CHINADNS新網(wǎng)的解決方法,,供大家參考。 1.安裝一個(gè)SQLSERVER的客戶端軟件 附: SetConn=Server.CreateObject("ADODB.Connection") 其中SetConn=Server.CreateObject("ADODB.Connection")為建立一個(gè)訪問數(shù)據(jù)的對(duì)象server.mappath(aaa/bbspp1.mdb)是告訴服務(wù)器access數(shù)據(jù)庫訪問的路徑 2.ASP連接Sqlserver數(shù)據(jù)庫語句 Setconn=Server.CreateObject("ADODB.Connection") 常用的HTTP-EQUIV類型有: 1. Content-Language 2. Content-Type定義頁面制作所使用的文字語言 Content-Language的Content還可以是:EN、FR等語言代碼,。 以上2個(gè)參數(shù)都可以幫助搜索引擎判斷網(wǎng)頁所使用的語言,。 <!-- 搜索引擎怎樣判斷網(wǎng)頁所使用的語言? 人們喜歡以他們所知道的語言列出的搜索結(jié)果,,這對(duì)搜索營銷人員是十分重要的,。當(dāng)一個(gè)搜索者輸入上面圖中的搜索請(qǐng)求時(shí),只有用中文寫的網(wǎng)頁將被顯示在搜索結(jié)果里面,。 在有些國家,,例如日本和中國,大部分搜索者想要結(jié)果限制在母語上,。但是在其他地方例如瑞典,,搜索可以采用瑞典語和英語來進(jìn)行。不同國家的搜索者有不同的語言偏好,。 對(duì)搜索營銷人員而言,,重要的是搜索引擎知道網(wǎng)頁所使用的語言,如果網(wǎng)頁沒能被正確地識(shí)別,,可能就會(huì)從本應(yīng)發(fā)現(xiàn)它的搜索者面前消失,,從而降低你的引薦訪問。 那么搜索引擎是怎樣判斷網(wǎng)頁所使用的語言呢,?這里有很多不同的方法: 1. 語言meta標(biāo)簽,。 很多網(wǎng)頁通過一個(gè)HTML標(biāo)簽來表明網(wǎng)頁使用的語言,例如<META http-equiv=”content-language” content="ja"> 表示使用的是日語,,看起來簡單,,搜索蜘蛛程序讀取標(biāo)簽,于是搜索引擎知道是什么語言了,。但是相對(duì)多的語言meta標(biāo)簽是完全錯(cuò)誤的,,沒有標(biāo)簽,句法錯(cuò)誤,,以及語言編碼錯(cuò)誤等等,。搜索引擎確實(shí)查看這些標(biāo)簽,但是它們很少只從這些標(biāo)簽來判定網(wǎng)頁的語言,。 2. 字符編碼 計(jì)算機(jī)文件(包括HTML網(wǎng)頁)需要“對(duì)譯本(Key)”正確翻譯文件中的字符(字母,,數(shù)字等等)。這種對(duì)譯本被稱為字符編碼,。由網(wǎng)頁中meta標(biāo)簽里聲明,例如<META http-equiv=content-type content="text/html; charset=GBK">,。 網(wǎng)站瀏覽器和搜索蜘蛛程序假定網(wǎng)頁按照西方語言編碼,,因此使用這些語言寫的網(wǎng)頁不需要這個(gè)標(biāo)簽,。為了瀏覽器顯示正確,亞洲,、阿拉伯和古代斯拉夫語的文本確實(shí)需要這個(gè)標(biāo)簽,。因此,當(dāng)搜索引擎看到針對(duì)這些語言的表情,,它對(duì)正確顯示網(wǎng)頁的語言有了很高的保證,。 3. 內(nèi)容分析 搜索引擎通過研究內(nèi)容中的字符模式來最終判定網(wǎng)頁的語言,哪怕是短到只有兩句話的網(wǎng)頁,,內(nèi)容分析的精確度也非常高,。Meta標(biāo)簽只有在內(nèi)容分析后還不確定的情況下才被使用。 多數(shù)情況下,,搜索引擎會(huì)自行正確地判斷網(wǎng)頁的內(nèi)容,,對(duì)于只有很少幾個(gè)詞的網(wǎng)頁,要保證網(wǎng)頁被正確識(shí)別,,正確的編碼語言和meta語言標(biāo)簽很重要,。--> 3. Refresh (刷新) <!-- 網(wǎng)絡(luò)上常用的重定向方式有四種:Javascript 重定向,Meta refresh 重定向,,301重定向,,302重定向 重定向(redirect)——一個(gè)對(duì)瀏覽器的指導(dǎo),讓其顯示不同的URL而不是當(dāng)初瀏覽器所請(qǐng)求的,。重定向允許舊的URL被重新指向到目前的URL上,,因此當(dāng)訪客使用舊的URL時(shí),不會(huì)得到一個(gè)“網(wǎng)頁沒有被找到”的消息(就是通常大家知道的HTTP404錯(cuò)誤),。 1. Meta 更新重定向(Meta Refresh redirects) HTML在<head>部分的meta標(biāo)簽頁可以重新鏈接一個(gè)網(wǎng)頁——通常被稱為“meta”更新重定向例如: <meta http-equiv="refresh" content="10; url=http://www."> 其中的“10”是告訴瀏覽器在頁面加載10秒鐘后自動(dòng)跳轉(zhuǎn)到,。 這種方法常在論壇中見到。如果在論壇上發(fā)表帖子,,先會(huì)看到一個(gè)確認(rèn)頁面,,幾秒后會(huì)自動(dòng)重新跳轉(zhuǎn)回當(dāng)前的論壇頁面中。 從搜索引擎優(yōu)化的角度出發(fā),,一般不希望自動(dòng)轉(zhuǎn)向有延遲,。不過,如果是用Meta Refresh標(biāo)識(shí)進(jìn)行轉(zhuǎn)向,,一定要注意把延遲時(shí)間設(shè)定成至少10秒以上,。對(duì)于這種自動(dòng)轉(zhuǎn)向法,搜索引擎能夠自動(dòng)檢測(cè)出來,。因而無論網(wǎng)站的轉(zhuǎn)向出于什么目的,,都很容易被搜索引擎視為對(duì)讀者的誤導(dǎo)而受到懲罰,。不過,如果跳轉(zhuǎn)延遲時(shí)間設(shè)置合適,,搜索引擎就不會(huì)視之為作弊,。 meta 標(biāo)簽之NAME屬性 詳解>> 4. Expires (期限) 5. Pragma (cach模式) 6. Set-Cookie (cookie設(shè)定) 7. Window-target (顯示窗口的設(shè)定) 說明:強(qiáng)制頁面在當(dāng)前窗口以獨(dú)立頁面顯示。 8.Pics-label (網(wǎng)頁RSAC等級(jí)評(píng)定) 說明:在IE的Internet選項(xiàng)中有一項(xiàng)內(nèi)容設(shè)置,可以防止瀏覽一些受限制的網(wǎng)站,,而網(wǎng)站的限制級(jí) 別就是通過該參數(shù)來設(shè)置的,。 用法:<META http-equiv=”Pics-label” Contect= “(PICS-1.1′http://www./ratingsv01.html’ I gen comment ‘RSACi North America Sever’ by ‘[email protected]’ for ‘http://www.microsoft.com’ on ‘1997.06.30T14:21-0500′ r(n0 s0 v0 l0))”> 注意:不要將級(jí)別設(shè)置的太高。RSAC的評(píng)估系統(tǒng)提供了一種用來評(píng)價(jià)Web站點(diǎn)內(nèi)容的標(biāo)準(zhǔn),。用戶可以設(shè)置Microsoft Internet Explorer(IE3.0以上)來排除包含有色情和暴力內(nèi)容的站點(diǎn),。上面這個(gè)例子中的HTML取自Microsoft的主頁,。代碼中的(n 0 s 0 v 0 l 0)表示該站點(diǎn)不包含不健康內(nèi)容,。級(jí)別的評(píng)定是由RSAC,,即美國娛樂委員會(huì)的評(píng)級(jí)機(jī)構(gòu)評(píng)定的,如果你想進(jìn)一步了解RSAC評(píng)估系統(tǒng)的等級(jí)內(nèi)容,,或者你需要評(píng)價(jià)自己的網(wǎng)站,,可以訪問RSAC的站點(diǎn):http://www./。 9.Page-Enter,、Page-Exit (進(jìn)入與退出) 說明:這個(gè)是頁面被載入和調(diào)出時(shí)的一些特效,。 用法:<Meta http-equiv=”Page-Enter” Content=”blendTrans(Duration=0.5)”> <Meta http-equiv=”Page-Exit” Content=”blendTrans(Duration=0.5)”> 注意:blendTrans是動(dòng)態(tài)濾鏡的一種,產(chǎn)生漸隱效果,。另一種動(dòng)態(tài)濾鏡RevealTrans也可以用于頁面進(jìn)入與退出效果: <Meta http-equiv=”Page-Enter” Content=”revealTrans(duration=x, transition=y)”> <Meta http-equiv=”Page-Exit” Content=”revealTrans(duration=x, transition=y)”> Duration表示濾鏡特效的持續(xù)時(shí)間(單位:秒) Transition濾鏡類型,。表示使用哪種特效,取值為0-23,。 0 矩形縮小 1 矩形擴(kuò)大 2 圓形縮小 3 圓形擴(kuò)大 4 下到上刷新 5 上到下刷新 6 左到右刷新 7 右到左刷新 8 豎百葉窗 9 橫百葉窗 10 錯(cuò)位橫百葉窗 11 錯(cuò)位豎百葉窗 12 點(diǎn)擴(kuò)散 13 左右到中間刷新 14 中間到左右刷新 15 中間到上下 16 上下到中間 17 右下到左上 18 右上到左下 19 左上到右下 20 左下到右上 21 橫條 22 豎條 23 以上22種隨機(jī)選擇一種 10.MSThemeCompatible (XP主題) 說明:是否在IE中關(guān)閉 xp 的主題 用法:<Meta http-equiv=”MSThemeCompatible” Content=”Yes”> 注意:關(guān)閉 xp 的藍(lán)色立體按鈕系統(tǒng)顯示樣式,,從而和win2k 很象。 11.IE6 (頁面生成器) 說明:頁面生成器generator,,是ie6 用法:<Meta http-equiv=”IE6″ Content=”Generator”> 注意:用什么東西做的,,類似商品出廠廠商。 12.Content-Script-Type (腳本相關(guān)) 說明:這是近來W3C的規(guī)范,,指明頁面中腳本的類型,。 用法:<Meta http-equiv=”Content-Script-Type” Content=”text/javascript”> 四,、小論壇 小論壇 2 同學(xué)們,,你可以從“小論壇”里小華的身上得到什么啟示?大家討論討論,。 同學(xué)們結(jié)合自己的實(shí)際展開討論,。 通過討論使學(xué)生懂得要通過互評(píng)互學(xué)才能不斷提高自己的網(wǎng)頁制作水平,為我們的學(xué)習(xí)服務(wù),。 |
|