摘要:密碼強度正則,最少位,包括至少個大寫字母,個小寫字母,個數字,個特殊字符輸出校驗中文但是但是但是包含中文正則但是由數字個英文字母或下劃線組成的字符串身份證號正則身份證號位正則輸出校驗日期格式的日期校驗,已考慮平閏年。
替換
通過一些例子來學習正則表達式摘錄,js正則函數match、exec、test、search、replace、split
去除首尾的//去除首尾的‘/’ input = input.replace(/^/*|/*$/g,"");javascript:; 、javascript:void(0)
"javascript:;".match(/^(javascripts*:|#)/); //["javascript:", "javascript:", index: 0, input: "javascript:;"]匹配
var str = "access_token=dcb90862-29fb-4b03-93ff-5f0a8f546250; refresh_token=702f4815-a0ff-456c-82ce-24e4d7d619e6; account_uid=1361177947320160506170322436"; str.match(/account_uid=([^=]+(;)|(.*))/ig);匹配一些字符
var str = "asdf html-webpack-plugin for "index/index.html" asdfasdf"; str.match(/html-webpack-plugin for "(.*)"/ig); console.log(RegExp.$1) //=>index/index.html關鍵字符替換
"css/[hash:8].index-index.css".replace(/[(?:(w+):)?(contenthash|hash)(?::([a-z]+d*))?(?::(d+))?]/ig,"(.*)"); //=> css/(.*).index-index.css替換參數中的值
var str = ""; str.replace(/]*manifest="([^"]*)"[^>]*>/,function(word){ return word.replace(/manifest="([^"]*)"/,"manifest=""+url+"""); }).replace(/]*>)/,function(word){ if(word.indexOf("manifest")) return word; return word.replace(" //替換成=>匹配括號內容
"max_length(12)".match(/^(.+?)((.+))$/) // ["max_length(12)", "max_length", "12", index: 0, input: "max_length(12)"]調換
var name = "Doe, John"; name.replace(/(w+)s*, s*(w+)/, "$2 $1"); //=> "John Doe"字符串截取
var str = "asfdf === sdfaf ##" str.match(/[^===]+(?=[===])/g) // 截取 ===之前的內容 str.replace(/ /g,"") // 替換字符串中的 換行字符驗證 小數點后幾位驗證
// 精確到1位小數 /^[1-9][0-9]*$|^[1-9][0-9]*.[0-9]$|^0.[0-9]$/.test(1.2); // 精確到2位小數 /^[0-9]+(.[0-9]{2})?$/.test(1.221);密碼強度正則
// 必須是包含大小寫字母和數字的組合,不能使用特殊字符,長度在8-10之間。 /^(?=.*d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$/.test("weeeeeeeW2"); //密碼強度正則,最少6位,包括至少1個大寫字母,1個小寫字母,1個數字,1個特殊字符 /^.*(?=.{6,})(?=.*d)(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*? ]).*$/.test("diaoD123#"); //輸出 true校驗中文
/^[u4e00-u9fa5]{0,}$/.test("但是d"); //false /^[u4e00-u9fa5]{0,}$/.test("但是"); //true /^[u4e00-u9fa5]{0,}$/.test("但是"); //true包含中文正則
/[u4E00-u9FA5]/.test("但是d") //true由數字、26個英文字母或下劃線組成的字符串
/^w+$/.test("ds2_@#"); // false身份證號正則
//身份證號(18位)正則 /^[1-9]d{5}(18|19|([23]d))d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)d{3}[0-9Xx]$/.test("42112319870115371X"); //輸出 false校驗日期
“yyyy-mm-dd“ 格式的日期校驗,已考慮平閏年。
//日期正則,簡單判定,未做月份及日期的判定 var dP1 = /^d{4}(-)d{1,2}1d{1,2}$/; //輸出 true console.log(dP1.test("2017-05-11")); //輸出 true console.log(dP1.test("2017-15-11")); //日期正則,復雜判定 var dP2 = /^(?:(?!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)$/; //輸出 true console.log(dP2.test("2017-02-11")); //輸出 false console.log(dP2.test("2017-15-11")); //輸出 false console.log(dP2.test("2017-02-29")); // true校驗文件后綴
var strRegex = "(.jpg|.gif|.txt)"; var re=new RegExp(strRegex); if (re.test(str)){ } /(.jpg|.gif)+(?|#|$)/.test("a/b/c.jpgsss"); //=> false /(.jpg|.gif)+(?|#|$)/.test("a/b/c.jpg?"); //=> true用戶名正則
//用戶名正則,4到16位(字母,數字,下劃線,減號) /^[a-zA-Z0-9_-]{4,16}$/.test("diaodiao"); //輸出 true整數正則
/^d+$/.test("42"); //正整數正則 -> 輸出 true /^-d+$/.test("-42"); //負整數正則 -> 輸出 true /^-?d+$/.test("-42"); //整數正則 -> 輸出 true /^[0-9]+$/.test(25.5455) //正整數正則 -> 輸出 false // 浮點數 /^(?:[-+])?(?:[0-9]+)?(?:.[0-9]*)?(?:[eE][+-]?(?:[0-9]+))?$/.test(0.2)數字正則
可以是整數也可以是浮點數
/^d*.?d+$/.test("42.2"); //正數正則 -> 輸出 true /^-d*.?d+$/.test("-42.2"); //負數正則 -> 輸出 true /^-?d*.?d+$/.test("-42.2"); //數字正則 -> 輸出 trueEmail正則
//Email正則 /^([A-Za-z0-9_-.])+@([A-Za-z0-9_-.])+.([A-Za-z]{2,4})$/.test("wowohoo@qq.com"); //輸出 true // 1.郵箱以a-z、A-Z、0-9開頭,最小長度為1. // 2.如果左側部分包含-、_、.則這些特殊符號的前面必須包一位數字或字母。 // 3.@符號是必填項 // 4.右則部分可分為兩部分,第一部分為郵件提供商域名地址,第二部分為域名后綴,現已知的最短為2位。 // 最長的為6為。 // 5.郵件提供商域可以包含特殊字符-、_、. /^[a-z0-9]+([._-]*[a-z0-9])*@([a-z0-9]+[-a-z0-9]*[a-z0-9]+.){1,63}[a-z0-9]+$/.test("wowohoo@qq.com");傳真號碼
// 國家代碼(2到3位)-區號(2到3位)-電話號碼(7到8位)-分機號(3位) /^(([0+]d{2,3}-)?(0d{2,3})-)(d{7,8})(-(d{3,}))?$/.test("021-5055455")手機號碼正則
//手機號正則 /^1[34578]d{9}$/.test("13611778887"); //輸出 true //* 13段:130、131、132、133、134、135、136、137、138、139 //* 14段:145、147 //* 15段:150、151、152、153、155、156、157、158、159 //* 17段:170、176、177、178 //* 18段:180、181、182、183、184、185、186、187、188、189 //* 國際碼 如:中國(+86) /^((+?[0-9]{1,4})|((+86)))?(13[0-9]|14[57]|15[012356789]|17[03678]|18[0-9])d{8}$/.test("13611778887");URL正則
//URL正則 /^((https?|ftp|file)://)?([da-z.-]+).([a-z.]{2,6})([/w .-]*)*/?$/.test("http://wangchujiang.com"); //輸出 true //獲取url中域名、協議正則 "http://xxx.xx/xxx","https://xxx.xx/xxx","http://xxx.xx/xxx" /^(http(?:|s):)*//([^/]+)/.test("http://www.baidu.com"); /^((http|https)://(w+:{0,1}w*@)?(S+)|)(:[0-9]+)?(/|/([w#!:.?+=&%@!-/]))?$/.test("https://www.baidu.com/s?wd=@#%$^&%$#") // 必須有協議 /^[a-zA-Z]+:///.test("http://www.baidu.com");IPv4地址正則
//ipv4地址正則 /^(?:(?: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]?)$/.test("192.168.130.199"); //輸出 true十六進制顏色正則
//RGB Hex顏色正則 /^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/.test("#b8b8b8"); //輸出 trueQQ號碼正則
//QQ號正則,5至11位 /^[1-9][0-9]{4,10}$/.test("398188661");//輸出 true微信號正則
//微信號正則,6至20位,以字母開頭,字母,數字,減號,下劃線 /^[a-zA-Z]([-_a-zA-Z0-9]{5,19})+$/.test("jslite"); //輸出 true車牌號正則
//車牌號正則 /^[京津滬渝冀豫云遼黑湘皖魯新蘇浙贛鄂桂甘晉蒙陜吉閩貴粵青藏川寧瓊使領A-Z]{1}[A-Z]{1}[A-Z0-9]{4}[A-Z0-9掛學警港澳]{1}$/.test("滬B99116") //輸出 true顏色值校驗
// HEX 顏色正則 /^#?([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/.test("#ccb2b2")
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/87399.html
摘要:前言在我們做用戶授權登錄微信授權,以及根據對應瀏覽器做對應的操作的時候,經常會遇到需要判斷用戶使用的瀏覽器的需求,以及在需要用戶輸入信息的時候,有需要驗證的一些正則。 前言 在我們做用戶授權登錄(微信,qq授權),以及根據對應瀏覽器做對應的操作的時候,經常會遇到需要判斷用戶使用的瀏覽器的需求,以及在需要用戶輸入信息的時候,有需要驗證的一些正則。如果喜歡的話可以點波贊/關注,支持一下,希...
摘要:對前端來說,使用的場景不多,但是像微信端的對話系統的表情包,就使用到了一個特定的規則。我是一個前端,工作年了,現在失業,想進入騰訊工作,這是我的聯系方式這個正則雖 我發現有個別字符被這個編輯器給刷掉了,但是灰色區域顯示正常,以灰色區域代碼為準 什么玩意? 在我剛開始學習編程的時候,就聽過正則了,也聽說正則很牛逼,懂正則的更牛逼。但是苦于沒有人指點,也沒有使用正則的場景,自己看教程又懵逼...
閱讀 1877·2021-11-19 09:40
閱讀 2594·2021-08-30 09:46
閱讀 2177·2021-08-03 14:01
閱讀 2648·2019-08-30 10:54
閱讀 1197·2019-08-29 16:38
閱讀 1440·2019-08-29 11:02
閱讀 2536·2019-08-28 18:16
閱讀 1679·2019-08-28 18:09