判斷輸入的郵箱地址是否正確

html:

<form ?onsubmit="return validate_form(this);" method="post">

? ? ? ? ? ? email:<input type="text" name="email" >

? ? ? ? ? ?<input type="submit" value="submit">

</form>


js:

function validate_email(field,alerttxt)//這個(gè)函數(shù)用來驗(yàn)證email的格式是否滿足xxx@xxx.xxx的格式,其中要求@前面必須要至少一個(gè)字符,@與.之間至少要有一個(gè)字符

{

? ? ? ? with (field)//使用with (XXX)語句是指定默認(rèn)對(duì)象,這樣在訪問這個(gè)HTML元素(就是這里的field)的值的時(shí)候,就不需要指定對(duì)象了,可以直接使用value.indexOf。否則的話,需要field.value.indexOf

? ? ? ? ?{

? ? ? ? ? ? ? ? ? ? ? ? ? apos=value.indexOf("@");//找到第一個(gè)@的位置。如果找不到的話,apos值為-1,找到的話就是@在字符串里面的以0開始的位置索引

? ? ? ? ? ? ? ? ? ? ? ? ? dotpos=value.lastIndexOf(".")//找到最后一個(gè).的位置

? ? ? ? ? ? ? ? ? ? ? ? ? if (apos<1||dotpos-apos<2)//如果找不到@或者@是第一個(gè)字符(apos<1),或者@之后沒有.或者@與.之間沒有任何字符(dotpos-apos<2)

? ? ? ? ? ? ? ? ? ? ? ? ? {alert(alerttxt);return false}//彈出對(duì)話框顯示錯(cuò)誤消息并返回假表明驗(yàn)證email格式失敗

? ? ? ? ? ? ? ? ? ? ? ? ? else {return true}//否則返回真

? ? ? ? ?}

}

function validate_form(thisform)//這個(gè)函數(shù)用來在表單提交時(shí)對(duì)表單做驗(yàn)證,通常的使用方式是表單里面有個(gè)提交按鈕在點(diǎn)擊時(shí)調(diào)用這個(gè)函數(shù),如下例所示,當(dāng)這個(gè)函數(shù)返回假的時(shí)候,表單不會(huì)提交

?{

? ? ? ? ? ? ? with (thisform)

? ? ? ? ? ? ?{

? ? ? ? ? ? ? ? ? ? ? ? ? if (validate_email(email,"請(qǐng)輸入正確的郵件地址!")==false);//調(diào)用validate_email來驗(yàn)證表單中的email這個(gè)字段 ,判斷是否失敗

? ? ? ? ? ? ? ? ? ? ? ? ? {email.focus();return false}//如果失敗的話,讓email獲得焦點(diǎn),同時(shí)返回假使的表單不提交

? ? ? ? ? ? ?}

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,695評(píng)論 19 139
  • HTML表單 在HTML中,表單是 ... 之間元素的集合,它們?cè)试S訪問者輸入文本、選擇選項(xiàng)、操作對(duì)象等等,然后將...
    蘭山小亭閱讀 3,515評(píng)論 2 14
  • 22年12月更新:個(gè)人網(wǎng)站關(guān)停,如果仍舊對(duì)舊教程有興趣參考 Github 的markdown內(nèi)容[https://...
    tangyefei閱讀 35,437評(píng)論 22 257
  • 1、簡介 Laravel 提供了多種方法來驗(yàn)證應(yīng)用輸入數(shù)據(jù)。默認(rèn)情況下,Laravel 的控制器基類使用Valid...
    伊Summer閱讀 1,623評(píng)論 0 3
  • 作為一個(gè)移動(dòng)端的開發(fā)小妹,看看產(chǎn)品類的書籍,了解一下每天打交道的產(chǎn)品經(jīng)理腦袋里在想什么也是件不錯(cuò)的事情。俗語云,藝...
    小曼blog閱讀 390評(píng)論 4 0

友情鏈接更多精彩內(nèi)容