javascript常用的正則表示式驗證
阿新 • • 發佈:2019-02-19
今天摘抄了網上一些朋友的文章。結合自己的測試,整了一下一些常用的js正則表示式驗證方式。
下面以一下html頁面的方式展現出來。程式碼在javascript部分:以後有合適的再陸續補充
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>javascript正則表示式</title> <script type="text/javascript" language="javascript"> function checkUser(str){ /**只允許字母數字和下劃線,且長度4-16以內**/ var re = /^[a-zA-z]\w{3,15}$/; if(re.test(str)){ alert("正確"); }else{ alert("錯誤"); } } function checkMobile(str) { /**手機號碼驗證,1打頭,11位純數字**/ var re = /^1\d{10}$/ if (re.test(str)) { alert("正確"); } else { alert("錯誤"); } } /** * 驗證規則:區號+號碼,區號以0開頭,3位或4位 * 號碼由7位或8位數字組成 * 區號與號碼之間可以無連線符,也可以“-”連線 * 如:01088888888,010-88888888,0813-7777777 */ function checkPhone(str){ /**電話號碼驗證**/ var re = /^0\d{2,3}-?\d{7,8}$/; if(re.test(str)){ alert("正確"); }else{ alert("錯誤"); } } /** * 第一部分:由字母、數字、下劃線、短線“-”、點號“.”組成 * 第二部分:為一個域名,域名由字母、數字、短線“-”、域名字尾組成 * 域名字尾一般為.xxx或.xxx.xx,一區的域名字尾一般為2-4位,如cn,com,net,現在域名有的也會大於4位 */ function checkEmail(str){ var re = /^(\w-*\.*)+@(\w-?)+(\.\w{2,})+$/; if(re.test(str)){ alert("正確"); }else{ alert("錯誤"); } } function onlyNumbers(){ /**只能輸入正整數和小數和0**/ var str = document.getElementById("txtNumber").value; var re = /^\d+\.?\d*$/; if(re.test(str)){ alert("正確"); }else{ alert("錯誤"); } } function onlyNumbersZZS(){ /**正整數**/ var str = document.getElementById("txtNumber").value; var re = /^[0-9]*[1-9][0-9]*$/; if(re.test(str)){ alert("正確"); }else{ alert("錯誤"); } } function onlyNumbersZZSZ(){ /**正整數和0**/ var str = document.getElementById("txtNumber").value; var re = /^\d+$/; if(re.test(str)){ alert("正確"); }else{ alert("錯誤"); } } function onlyNumbersFZS(){ /**負整數**/ var str = document.getElementById("txtNumber").value; var re = /^-[0-9]*[1-9][0-9]*$/; if(re.test(str)){ alert("正確"); }else{ alert("錯誤"); } } function onlyNumbersFZSZ(){ /**正負整數和0**/ var str = document.getElementById("txtNumber").value; var re = /^-?\d+$/; if(re.test(str)){ alert("正確"); }else{ alert("錯誤"); } } function onlyNumbersGZ(){ /**大於0且,保留兩位小數以內的正數和小數點**/ var str = document.getElementById("txtNumber").value; var re = /^(([0-9]+[\.]?[0-9]{1,2})|[1-9])$/; if(re.test(str)){ alert("正確"); }else{ alert("錯誤"); } } function checkIdNo(){ /**驗證身份證,最後一位或大寫的X**/ var str = document.getElementById("txtNumber").value; var re = /^\d{17}(\d|X)$/; if(re.test(str)){ alert("正確"); }else{ alert("錯誤"); } } function checkChar(){ /**只有26個英文字母組成,大小寫可用**/ var str = document.getElementById("txtNumber").value; var re = /^[A-Za-z]+$/; if(re.test(str)){ alert("正確"); }else{ alert("錯誤"); } //其它:/^[A-Z]+$/ 26個大寫字母 //其它:/^[a-z]+$/ 26個小寫字母 //其它:/^[A-Za-z0-9]+$/ 26個大小寫字母和數字組成 //其它:/^\w+$/ 26個大小寫字母和數字和下劃線組成 } </script> </head> <body> <input type="text" id="txtNumber" name="txtNumber" value="" /> <br/> <a href=javascript:checkUser("DD1234567_890123")>可輸入字母數字下劃線</a><br/> <a href=javascript:checkMobile("13480013000")>驗證手機號</a><br/> <a href=javascript:checkPhone("0955-7777777")>驗證電話號碼</a><br/> <a href=javascript:checkEmail("[email protected]")>驗證郵箱</a><br/> <a href=javascript:checkChar()>其它測試</a><br/> </body> </html>