js 正則表達式 整合

正則表達式:斷言

取字符串區間:

/(?<=["+ star +"]).*(?=["+ end +"])/


// 簡單封裝
Vue.prototype.strMatch = (str,star,end) => {
let regs = new RegExp("(?<=["+ star +"]).*(?=["+ end +"])");
let req = str.match(regs);
return req;
};

?

url的正則表達式:包括IP,域名(domain),ftp,二級域名,域名中的文件,域名加上端口!用戶名等等信息

function IsURL(str_url) {var strRegex ="^((https|http|ftp|rtsp|mms)?://)" +"?(([0-9a-z_!~*'().&=+$%-]+: )?[0-9a-z_!~*'().&=+$%-]+@)?" + //ftp的user@"(([0-9]{1,3}.){3}[0-9]{1,3}" + // IP形式的URL- 199.194.52.184"|" + // 允許IP和DOMAIN(域名)"([0-9a-z_!~*'()-]+.)*" + // 域名- www."([0-9a-z][0-9a-z-]{0,61})?[0-9a-z]." + // 二級域名"[a-z]{2,6})" + // first level domain- .com or .museum"(:[0-9]{1,4})?" + // 端口- :80"((/?)|" + // a slash isn't required if there is no file name"(/[0-9a-z_!~*'().;?:@&=+$,%#-]+)+/?)$";var re = new RegExp(strRegex);//re.test()if (re.test(str_url)) {return true;} else {return false;}
}

匹配手機號

var myreg = /^(13[0-9]{1}|14[5|7|9]{1}|15[0-3|5-9]{1}|166|17[0-3|5-8]{1}|18[0-9]{1}|19[8-9]{1}){1}\d{8}$/;

用戶名正則,4到16位(字母,數字,下劃線,減號)

var uPattern = /^[a-zA-Z0-9_-]{4,16}$/;
//輸出 true
console.log(uPattern.test("caibaojian"));

?密碼強度正則

//密碼強度正則,最少6位,包括至少1個大寫字母,1個小寫字母,1個數字,1個特殊字符
var pPattern = /^.*(?=.{6,})(?=.*\d)(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*? ]).*$/;
//輸出 true
console.log("=="+pPattern.test("caibaojian#"));

整數正則

//正整數正則
var posPattern = /^\d+$/;
//負整數正則
var negPattern = /^-\d+$/;
//整數正則
var intPattern = /^-?\d+$/;
//輸出 true
console.log(posPattern.test("42"));
//輸出 true
console.log(negPattern.test("-42"));
//輸出 true
console.log(intPattern.test("-42"));

數字正則

//可以是整數也可以是浮點數//正數正則
var posPattern = /^\d*\.?\d+$/;
//負數正則
var negPattern = /^-\d*\.?\d+$/;
//數字正則
var numPattern = /^-?\d*\.?\d+$/;
console.log(posPattern.test("42.2"));
console.log(negPattern.test("-42.2"));
console.log(numPattern.test("-42.2"));

Email正則

//Email正則
var ePattern = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
//輸出 true
console.log(ePattern.test(99154507@qq.com));

身份證號正則

//身份證號(18位)正則
var cP = /^[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]$/;
//輸出 true
console.log(cP.test("11010519880605371X"));

URL正則

//URL正則
var urlP= /^((https?|ftp|file):\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/;
//輸出 true
console.log(urlP.test(http://caibaojian.com));

IPv4地址正則

//ipv4地址正則
var ipP = /^(?:(?: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]?)$/;
//輸出 true
console.log(ipP.test("115.28.47.26"));

十六進制顏色正則

//RGB Hex顏色正則
var cPattern = /^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/;
//輸出 true
console.log(cPattern.test("#b8b8b8"));

日期正則

//日期正則,簡單判定,未做月份及日期的判定
var dP1 = /^\d{4}(\-)\d{1,2}\1\d{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"));

QQ號碼正則

//QQ號正則,5至11位
var qqPattern = /^[1-9][0-9]{4,10}$/;
//輸出 true
console.log(qqPattern.test("65974040"));

微信號正則

//微信號正則,6至20位,以字母開頭,字母,數字,減號,下劃線
var wxPattern = /^[a-zA-Z]([-_a-zA-Z0-9]{5,19})+$/;
//輸出 true
console.log(wxPattern.test("caibaojian_com"));

車牌號正則

//車牌號正則
var cPattern = /^[京津滬渝冀豫云遼黑湘皖魯新蘇浙贛鄂桂甘晉蒙陜吉閩貴粵青藏川寧瓊使領A-Z]{1}[A-Z]{1}[A-Z0-9]{4}[A-Z0-9掛學警港澳]{1}$/;
//輸出 true
console.log(cPattern.test("粵B39006"));

包含中文正則

//包含中文正則
var cnPattern = /[\u4E00-\u9FA5]/;
//輸出 true
console.log(cnPattern.test("董董董"));
整數或者小數:^[0-9]+\.{0,1}[0-9]{0,2}$
只能輸入數字:"^[0-9]*$"。
只能輸入n位的數字:"^\d{n}$"。
只能輸入至少n位的數字:"^\d{n,}$"。
只能輸入m~n位的數字:。"^\d{m,n}$"
只能輸入零和非零開頭的數字:"^(0|[1-9][0-9]*)$"。
只能輸入有兩位小數的正實數:"^[0-9]+(.[0-9]{2})?$"。
只能輸入有1~3位小數的正實數:"^[0-9]+(.[0-9]{1,3})?$"。
只能輸入非零的正整數:"^\+?[1-9][0-9]*$"。
只能輸入非零的負整數:"^\-[1-9][]0-9"*$。
只能輸入長度為3的字符:"^.{3}$"。
只能輸入由26個英文字母組成的字符串:"^[A-Za-z]+$"。
只能輸入由26個大寫英文字母組成的字符串:"^[A-Z]+$"。
只能輸入由26個小寫英文字母組成的字符串:"^[a-z]+$"。
只能輸入由數字和26個英文字母組成的字符串:"^[A-Za-z0-9]+$"。
只能輸入由數字、26個英文字母或者下劃線組成的字符串:"^\w+$"。
驗證用戶密碼:"^[a-zA-Z]\w{5,17}$"正確格式為:以字母開頭,長度在6~18之間,只能包含字符、數字和下劃線。
驗證是否含有^%&'',;=?$\"等字符:"[^%&'',;=?$\x22]+"
只能輸入漢字:"^[\u4e00-\u9fa5]{0,}$"
驗證Email地址:"^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$"。
驗證InternetURL:"^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$"。
驗證電話號碼:"^(\(\d{3,4}-)|\d{3.4}-)?\d{7,8}$"正確格式為:"XXX-XXXXXXX""XXXX- XXXXXXXX""XXX-XXXXXXX""XXX-XXXXXXXX""XXXXXXX""XXXXXXXX"。
驗證身份證號(15位或18位數字):"^\d{15}|\d{18}$"。
驗證一年的12個月:"^(0?[1-9]|1[0-2])$"正確格式為:"01""09""1""12"。
驗證一個月的31天:"^((0?[1-9])|((1|2)[0-9])|30|31)$"正確格式為;"01""09""1""31"。整數或者小數:^[0-9]+\.{0,1}[0-9]{0,2}$
只能輸入數字:"^[0-9]*$"。
只能輸入n位的數字:"^\d{n}$"。
只能輸入至少n位的數字:"^\d{n,}$"。
只能輸入m~n位的數字:。"^\d{m,n}$"
只能輸入零和非零開頭的數字:"^(0|[1-9][0-9]*)$"。
只能輸入有兩位小數的正實數:"^[0-9]+(.[0-9]{2})?$"。
只能輸入有1~3位小數的正實數:"^[0-9]+(.[0-9]{1,3})?$"。
只能輸入非零的正整數:"^\+?[1-9][0-9]*$"。
只能輸入非零的負整數:"^\-[1-9][]0-9"*$。
只能輸入長度為3的字符:"^.{3}$"。
只能輸入由26個英文字母組成的字符串:"^[A-Za-z]+$"。
只能輸入由26個大寫英文字母組成的字符串:"^[A-Z]+$"。
只能輸入由26個小寫英文字母組成的字符串:"^[a-z]+$"。
只能輸入由數字和26個英文字母組成的字符串:"^[A-Za-z0-9]+$"。
只能輸入由數字、26個英文字母或者下劃線組成的字符串:"^\w+$"。
驗證用戶密碼:"^[a-zA-Z]\w{5,17}$"正確格式為:以字母開頭,長度在6~18之間,只能包含字符、數字和下劃線。
驗證是否含有^%&'',;=?$\"等字符:"[^%&'',;=?$\x22]+"
只能輸入漢字:"^[\u4e00-\u9fa5]{0,}$"
驗證Email地址:"^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$"。
驗證InternetURL:"^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$"。
驗證電話號碼:"^(\(\d{3,4}-)|\d{3.4}-)?\d{7,8}$"正確格式為:"XXX-XXXXXXX""XXXX- XXXXXXXX""XXX-XXXXXXX""XXX-XXXXXXXX""XXXXXXX""XXXXXXXX"。
驗證身份證號(15位或18位數字):"^\d{15}|\d{18}$"。
驗證一年的12個月:"^(0?[1-9]|1[0-2])$"正確格式為:"01""09""1""12"。
驗證一個月的31天:"^((0?[1-9])|((1|2)[0-9])|30|31)$"正確格式為;"01""09""1""31"

以上內容轉載自 陌上寒個人博客????? 可以微信掃碼關注一下哦!

?

轉載于:https://www.cnblogs.com/mxdmg/p/10039753.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/450509.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/450509.shtml
英文地址,請注明出處:http://en.pswp.cn/news/450509.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

dubbo 注冊中心zookeeper 手冊

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 zookeeper 注冊中心 Zookeeper 是 Apacahe Hadoop 的子項目&#xff0c;是一個樹型的目錄服務&#xff0c;支持變更推送&#xff0c;適…

數組 深入詳解

再論C語言數組 C語言處理數組的方式是它廣受歡迎的原因之一。C語言對數組的處理是非常有效的&#xff0c;其原因有以下三點&#xff1a;第一&#xff0c;除少數翻譯器出于謹慎會作一些繁瑣的規定外&#xff0c;C語言的數組下標是在一個很低的層次上處理的。但這個優點也有一個反…

oracle ins-30131錯誤

打開cmd 但是在我的環境沒效果&#xff0c;而我已知臨時目錄沒有問題。那么在命令行進入安裝軟件目錄&#xff0c;通過命令行啟動安裝程序&#xff0c;設置 ignorePrereq 檢查&#xff0c;此時數據庫軟件可以啟動安裝&#xff0c;是否會出現錯誤&#xff0c;就看忽略的檢查是否…

iOS開發UI篇—簡單介紹靜態單元格的使用

一、實現效果與說明 說明&#xff1a;觀察上面的展示效果&#xff0c;可以發現整個界面是由一個tableview來展示的&#xff0c;上面的數據都是固定的&#xff0c;且幾乎不會改變。 要完成上面的效果&#xff0c;有幾種方法&#xff1a; &#xff08;1&#xff09;可以直接利用代…

展示內容

今天課上展示了軟件 評價為過于簡單 還需另尋他法轉載于:https://www.cnblogs.com/wmqlzm/p/10041683.html

dubbo ,dubbo-provider、dubbo-consumer 配置參數說明

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 dubbo:consumer 服務消費者缺省值配置。配置類&#xff1a; com.alibaba.dubbo.config.ConsumerConfig 。同時該標簽為 <dubbo:refer…

laraval使用sqlite設置從多少開始遞增

DB::statement( "UPDATE SQLITE_SEQUENCE SET seq 起始值 WHERE name 表名" ); sqlite3默認就是1。 新建了含PRIMARY KEY AUTOINCREMENT 主鍵自增表(如 test1)后&#xff0c;會自動在sqlite_sequence表插入或更新一條信息&#xff0c;其中保存了相關主鍵的最大值&…

指針深入探討

C語言變量的內存實質 一、先來理解C語言中變量的實質 要理解C指針&#xff0c;我認為一定要理解C中“變量”的存儲實質&#xff0c;所以我就從“變量”這個東西開始講起吧&#xff01;先來理解理解內存空間吧&#xff01;請看下圖&#xff1a; 如上圖所示&#xff0c;內存只不…

springboot_yml配置

server: port: 8097 session-timeout: 30 tomcat.max-threads: 0 tomcat.uri-encoding: UTF-8 spring: application: name: feedback # 數據庫配置 datasource: name: test #url: jdbc:mysql://192.168.0.180:3306/dsdb #url: jdbc:m…

Python 字符串查找子串的方法之 index() 和 find()

find(substr, beg0, endlen(string)): 在[beg, end]范圍內查找substring&#xff0c;找到返回substr的起始下標&#xff0c;否則返回 -1。 1 string Hello Python 2 print(string.find(h, 0, len(string))) # 輸出 9 3 print(string.find(thon) # 輸出 84 print(strin.find(…

sqlite 設置向下遞增

因為 sqlite是沒有floor函數的 所以用 cast(x as int) - (x < cast(x as int)) 原理 cast(1.1 as int) 1 cast(-1.1 as int) -1&#xff08;我們想要的結果為2&#xff09; 如果x為非負 cast(x as int)是可以的 但是有負的話就加上后面 (x < cast(x as int))…

Docker 是什么,組成

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 一、Docker 是一個開源的應用容器引擎&#xff0c;讓開發者可以打包他們的應用以及依賴包到一個可移植的容器中&#xff0c;然后發布到任…

VC6.0詳細教程

1 編制并運行一個簡單程序 1.1 編制并運行程序的“四步曲”1.2 工程(PROJECT)以及工程工作區(PROJECT WORKSPACE)1.3 啟動并進入VC6的集成開發環境1.4 創建工程并輸入源程序代碼(1)新建一Win32 Console Application工程(2)在工作區窗口中查看工程的邏輯架構(3)在工程中新建C源…

vim搜索替換工具

1、ag.vim(查找工具)安裝 在vimrc中添加 Plug rking/ag.vim 使用 :Ag 你要查找的內容 e open file and close the quickfix window. o open file (same as enter). go preview file (open but mainta…

JAVA好學嗎?工資待遇怎么樣?

時代的進步也離不開互聯網的推動&#xff0c;互聯網的發展已經形成了一種趨勢&#xff0c;而在這種大環境下我們不應該抗拒&#xff0c;如果自身條件允許&#xff0c;加入進來未嘗不是一個好的選擇。而在計算機行業內&#xff0c;JAVA的火爆毋庸自疑&#xff0c;很多人都意識到…

【project】十次方-01

前言 項目介紹 系統分為3大部分&#xff1a;微服務、網站前臺、網站管理后臺&#xff1b;功能模塊分為&#xff1a;問答、招聘、交友中心等 該項目融合了Docker容器化部署、第三方登陸、SpringBoot、SpringCloud、SpringData、RabbitMQ等&#xff0c;該項目采用完全的前后端分離…

Docker 容器 和 虛擬機 的異同

見&#xff1a;https://www.docker.com/what-container 將軟件打包成標準化的單元進行開發&#xff0c;發貨和部署 容器映像是一個軟件的輕量級獨立可執行軟件包&#xff0c;包含運行所需的所有內容&#xff1a;代碼&#xff0c;運行時&#xff0c;系統工具&#xff0c;系統庫&…

iTerm2 快捷鍵大全

轉載地址https://cnbin.github.io/blog/2015/06/20/iterm2-kuai-jie-jian-da-quan/ 標簽 新建標簽&#xff1a;command t關閉標簽&#xff1a;command w切換標簽&#xff1a;command 數字 command 左右方向鍵切換全屏&#xff1a;command enter查找&#xff1a;command …

大型軟件編程規范

“安全第一”的C語言編程規范 編者按&#xff1a;C語言是開發嵌入式應用的主要工具&#xff0c;然而C語言并非是專門為嵌入式系統設計&#xff0c;相當多的嵌入式系統較一般計算機系統對軟件安全性有更苛刻的要求。1998年&#xff0c;MISRA指出&#xff0c;一些在C看來可以接受…

設計行業的新寵——云渲染

無論是對任職設計崗位的人員還是專業的設計公司來說&#xff0c;3D渲染&#xff0c;都是工作中極其重要的一步。在做過渲染后&#xff0c;設計的作品才能展現出它最接近真實世界的狀態。 但是由于渲染實質上是對大量數據的處理&#xff0c;所以渲染這項工作對電腦硬件的要求非常…