常用的正则表达式的运用--学习笔记(二)
生活随笔
收集整理的這篇文章主要介紹了
常用的正则表达式的运用--学习笔记(二)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
上一篇文章是轉載的技匠的一篇博客。本人從中學到了很多關于正則表達式的知識。下面總結一下學到的一些東西。
在java中和javaScript中使用正則表達式進行數據驗證的方式
1.java中的正則表達式和javaScript中的正則表達式有一點區別。eg:同樣是驗證郵箱格式的正則表達式
java中:
javaScript中:
[\w!#$%&'*+/=?^_`{|}~-]+(?:\.[\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\w](?:[\w-]*[\w])?\.)+[\w](?:[\w-]*[\w])?通過上邊的例子可以發現,實際上在java中是對正則表達式中的“\”進行了轉義,所以就多了一個轉義字符“\”。
2.在java和javaScript中如何使用正則表達式進行驗證。eg:對郵箱的格式使用正則表達式進行驗證:
java:
javaScript:
function checkEmail(){//獲取到的輸入的email的值var email = $("email").value;//驗證郵箱格式的正則表達式var reg = /[\w!#$%&'*+/=?^_`{|}~-]+(?:\.[\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\w](?:[\w-]*[\w])?\.)+[\w](?:[\w-]*[\w])?/;if(!reg.test(email)){window.alert("郵箱格式不正確!");}}注意:在javaScript中驗證的方式除了”reg.test(email)”,還可以使用“email.match(reg)”。如下:
function checkEmail(){//獲取到的輸入的email的值var email = $("email").value;//驗證郵箱格式的正則表達式var reg = /[\w!#$%&'*+/=?^_`{|}~-]+(?:\.[\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\w](?:[\w-]*[\w])?\.)+[\w](?:[\w-]*[\w])?/;var r = email.match(reg);if(r==null){window.alert("郵箱格式不正確!");}}實際案例:
javaScript:
<!DOCTYPE html> <html> <head lang="en"><meta charset="UTF-8"><title></title><script type="text/javascript">function check(){checkPeopleId();checkEmail();checkLanguage();checkPhonenumber();checkDate();checkTime();checkIPv4();checkIPv6();checkFilePath();checkPassword();}function $(id){return document.getElementById(id);}//身份證號(18位)function checkPeopleId(){var peopleId = $("peopleId").value;var reg = /^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X)$/;if(!reg.test(peopleId)){$("peopleIdInfo").value = "身份證號不正確!";}else{$("peopleIdInfo").value = "";}}//中文function checkLanguage(){var language = $("language").value;var reg = /^[\u4e00-\u9fa5]{0,}$/;if(!reg.test(language)){$("languageInfo").value = "只能輸入中文!";}else{$("languageInfo").value = "";}}//手機號function checkPhonenumber(){var phonenumber = $("phonenumber").value;var reg = /^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d{8}$/;if(!reg.test(phonenumber)){$("phonenumberInfo").value = "手機號格式不正確!";}else{$("phonenumberInfo").value = "";}}//E-mailfunction checkEmail(){var email = $("email").value;var reg = /[\w!#$%&'*+/=?^_`{|}~-]+(?:\.[\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\w](?:[\w-]*[\w])?\.)+[\w](?:[\w-]*[\w])?/;if(!reg.test(email)){$("emailInfo").value = "郵箱地址格式不正確!";}else{$("emailInfo").value = "";}}//日期(yyyy-mm-dd格式)function checkDate(){var date = $("date").value;var reg = /^(?:(?!0000)[0-9]{4}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)-02-29)$/;var r = date.match(reg);if(r==null){$("dateInfo").value = "日期格式錯誤,應該為:yyyy-mm-dd"}else{$("dateInfo").value = "";}}//時間function checkTime(){var time = $("time").value;var reg = /([01]?\d|2[0-3]):[0-5]?\d:[0-5]?\d/;var r = time.match(reg);if(r==null){$("timeInfo").value = "時間格式錯誤,應該為:時:分:秒"}else{$("timeInfo").value = "";}}//IPv4function checkIPv4(){var ipv4 = $("ipv4").value;var reg = /\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b/;var r = ipv4.match(reg);if(r==null){$("ipv4Info").value = "IPv4地址輸入格式錯誤!"}else{$("ipv4Info").value = "";}}//IPv6function checkIPv6(){var ipv6 = $("ipv6").value;var reg = /(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))/;var r = ipv6.match(reg);if(r==null){$("ipv6Info").value = "IPv6地址輸入格式錯誤!"}else{$("ipv6Info").value = "";}}//密碼強度function checkPassword(){var password = $("password").value;var reg = /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$/;var r = password.match(reg);if(r==null){$("passwordInfo").value = "密碼的強度不夠!密碼的強度必須是包含大小寫字母和數字的組合,不能使用特殊字符,長度在8-10之間。"}else{$("passwordInfo").value = "";}}//文件路徑及擴展名(下面的例子中為.txt文件)function checkFilePath(){var filepath = $("filepath").value;var reg = /^([a-zA-Z]\:|\\)\\([^\\]+\\)*[^\/:*?"<>|]+\.txt(l)?$/;var r = filepath.match(reg);if(r==null){$("filepathInfo").value = "驗證windows下文件路徑和擴展名不合法!";}else{$("filepathInfo").value = "";}}</script> </head> <body> <center><h1>正則表達式檢查數據格式</h1><table border="0"><tr><td>身份證號:</td><td><input type="text" id="peopleId"></td><td><input style="border-width: 0;color: red" type="text" id="peopleIdInfo"></td></tr><tr><td>郵箱:</td><td><input type="text" id="email"></td><td><input style="border-width: 0;color: red" type="text" id="emailInfo"></td></tr><tr><td>輸入中文:</td><td><input type="text" id="language"></td><td><input style="border-width: 0;color: red" type="text" id="languageInfo"></td></tr><tr><td>輸入手機號:</td><td><input type="text" id="phonenumber"></td><td><input style="border-width: 0;color: red" type="text" id="phonenumberInfo"></td></tr><tr><td>日期(年-月-日):</td><td><input type="text" id="date"></td><td><input style="border-width: 0;color: red" type="text" id="dateInfo"></td></tr><tr><td>時間(時:分:秒):</td><td><input type="text" id="time"></td><td><input style="border-width: 0;color: red" type="text" id="timeInfo"></td></tr><tr><td>IPv4地址:</td><td><input type="text" id="ipv4"></td><td><input style="border-width: 0;color: red" type="text" id="ipv4Info"></td></tr><tr><td>IPv6地址:</td><td><input type="text" id="ipv6"></td><td><input style="border-width: 0;color: red" type="text" id="ipv6Info"></td></tr><tr><td>密碼(檢驗密碼強度):</td><td><input type="text" id="password"></td><td><input style="border-width: 0;color: red" type="text" id="passwordInfo"></td></tr><tr><td>文件路徑及擴展名:</td><td><input type="text" id="filepath"></td><td><input style="border-width: 0;color: red" type="text" id="filepathInfo"></td></tr><tr><td><input type="button" value="驗證數據格式" onclick="check()"></td></tr></table> </center> </body> </html>效果演示:
總結
以上是生活随笔為你收集整理的常用的正则表达式的运用--学习笔记(二)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 常用的正则表达式---学习笔记(一)
- 下一篇: 常用工具类的积累