1. 程式人生 > >Qt通過QRegExp類來實現輸入的有效性判斷與正則表示式的學習

Qt通過QRegExp類來實現輸入的有效性判斷與正則表示式的學習

  ^[1-9]d*$    //匹配正整數 
  ^-[1-9]d*$   //匹配負整數 
  ^-?[1-9]d*$   //匹配整數 
  ^[1-9]d*|0$  //匹配非負整數(正整數 + 0) 
  ^-[1-9]d*|0$   //匹配非正整數(負整數 + 0) 
  ^[1-9]d*.d*|0.d*[1-9]d*$   //匹配正浮點數 
  ^-([1-9]d*.d*|0.d*[1-9]d*)$  //匹配負浮點數 
  ^-?([1-9]d*.d*|0.d*[1-9]d*|0?.0+|0)$  //匹配浮點數 
  ^[1-9]d*.d*|0.d*[1-9]d*|0?.0+|0$   //匹配非負浮點數(正浮點數 + 0) 
  ^(-([1-9]d*.d*|0.d*[1-9]d*))|0?.0+|0$  //匹配非正浮點數(負浮點數 + 0) 

  評註:處理大量資料時有用,具體應用時注意修正 
  匹配特定字串: 
  ^[A-Za-z]+$  //匹配由26個英文字母組成的字串 
  ^[A-Z]+$  //匹配由26個英文字母的大寫組成的字串 
  ^[a-z]+$  //匹配由26個英文字母的小寫組成的字串 
  ^[A-Za-z0-9]+$  //匹配由數字和26個英文字母組成的字串 
  ^w+$  //匹配由數字、26個英文字母或者下劃線組成的字串 
  在使用RegularExpressionValidator驗證控制元件時的驗證功能及其驗證表示式介紹如下: 
  只能輸入數字:“^[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}$” 
  正確格式為:“XXXX-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”。 
  匹配中文字元的正則表示式: [u4e00-u9fa5] 
  匹配雙位元組字元(包括漢字在內):[^x00-xff] 
  匹配空行的正則表示式:n[s| ]*r 
  匹配HTML標記的正則表示式:/<(.*)>.*|<(.*) />/ 
  匹配首尾空格的正則表示式:(^s*)|(s*$) 
  匹配Email地址的正則表示式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)* 
  匹配網址URL的正則表示式:http://([w-]+.)+[w-]+(/[w- ./?%&=]*)? 

相關推薦

Qt通過QRegExp實現輸入有效性判斷表示式學習

  ^[1-9]d*$    //匹配正整數   ^-[1-9]d*$   //匹配負整數   ^-?[1-9]d*$   //匹配整數   ^[1-9]d*|0$  //匹配非負整數(正整數 + 0)   ^-[1-9]d*|0$   //匹配非正整數(負整數 + 0)   ^[1-9]d*.d*|0.d*

Java通過匿名實現回調函數

err sys 強制 代碼 表達式 形參 入參 對象 std 在C語言中,函數名可以當做函數指針傳遞給形參從而實現回調 void f1() { printf("f1()\n"); } void f2() { printf("f2()\n"); } void f3() {

郵件地址有效性驗證的表示式

Javascript的正則表示式: <script language="javascript" type="text/javascript"> function verifyAddress(email) {  var pattern = /^([_a-zA-Z0-

常用js限制輸入、常用js表示式

不允許輸入空格 onkeyup="this.value=this.value.replace(/\s+/g,'')" 只允許輸入數字 onkeyup="this.value=this.value.re

判斷cron表示式輸入是否有效的表示式

Cron表示式是一個字串,字串以5或6個空格隔開,分為6或7個域,每一個域代表一個含義,Cron有如下兩種語法格式:  Seconds Minutes Hours DayofMonth Month DayofWeek Year或  Seconds Minutes Hours DayofMonth Month

分享一個只能在input文字框裡輸入正負整數的表示式

<input type="text"  onkeyup="if(value.length==1){value=value.replace(/[^(\-?)\d+]/ig,'')}else{value=value.

Java匿名內部類(通過繼承抽象實現)

3. 匿名內部類  沒有名字的內部類就是匿名內部類。 3.1 匿名內部類特性 1. 匿名內部類總是預設實現某個介面或繼承某個抽象類。 2.不能有構造方法,只能有一個例項。 3. 不能定義在任何靜態成員、靜態方法。 4. 不能是public.protec

設計模式學習(十四)————抽象工廠模式(使用Qt框架的反射技術——根據字串動態建立實現

抽象工廠模式:提供一個建立一系列相關或相互依賴物件的介面,而無需指定它們具體的類! 這個例子也可以用簡單工廠模式+反射+讀取配置檔案來完成,這樣更加簡潔!!! 普通的抽象工廠模式 下面通過一個模擬訪問資料庫的例子來進行說明: #ifndef US

用關鍵字interface定義接口,通過關鍵字implements實現接口

組織 多繼承 implement 列表 類型 協議 參數 發的 常量 【定義】Java中,能夠完成特定功能的,由若幹屬性和方法組織成的,相對獨立的屬性和方法的集合。 【用途】實現類的多繼承,以解決Java只能單繼承,不支持多繼承的問題。 【特點】 用關鍵字interface

通過策略模式實現redis的單機版和叢集版的轉換

(1)首要介面JedisClient package com.wine.jedis; public interface JedisClient { String set(String key, String value); String get(String key); Boo

springboot配置:通過工具獲取spring容器中的bean

**由於公司電腦限制,完全手敲,有單字錯誤望理解** @component @SuppressWarnings("static-access") public class AppContext implements ApplicationContextAware{   &n

自媒體是什麼?如何通過自媒體實現月入過萬?現實嗎

自媒體,意指為個人提供資訊生產,積累,共享,傳播內容兼具私密性和公開性的資訊傳播方式,指私人化,平民化,普泛化,自主化的傳播者,向不熱頂的大多數人群傳遞規範性或不規範性資訊的新媒體總稱。 自媒體平臺包括部落格,微博,微信,百度貼吧,各大官方自媒體平臺等。舉一個大

學習筆記 c++ (用實現二叉樹的建立遍歷)

       程式碼: #include<iostream> #include<stdio.h> using namespace std; class BiTree { public:     char data;     BiTree *

學習筆記 c++ (用實現投票選舉)

  程式碼: #include<iostream> #include<string> using namespace std; int p[5] ={0,0,0,0,0};//記票器 class xuanju { public:     x

63、使用Timer實現定時任務

定時任務 定時任務就是讓計算機自動的每隔一段時間執行的程式碼。比如要實現這樣的一個功能:讓計算機每隔5秒鐘,在控制檯列印一個www.monkey1024.com可以使用java.util包下的Timer類和TimerTask類來實現。 TimerTask是一個實現了Runnable介面的抽象類,需要編寫一

as3中通過名稱空間實現方法的 "過載"

OverLoadByNameSpace.as檔案 package{public class OverLoadByNameSpace{//類內部定義名稱空間public namespace good;//它是一個靜態的屬性,其uri為:OverLoadByNameSpace/

BigDecimal這個實現加減乘除呢

package com.mmall.util; import java.math.BigDecimal; / **  *敲程式碼的wqq * / public class BigDecimalUti

Android執行緒——使用ExecutorService實現執行緒的管理

個人部落格CoorChice,https://chenbingx.github.io/ ,最新文章將會首發CoorChice的部落格,歡迎探索哦 ! 同時,搜尋微信公眾號CoorChice,或掃描文章末尾二維碼,可以關注我的微信公眾號。同期文章也將會優先推送到微信公眾號中,以提醒

C# Winform實現捕獲窗體最小化、最大化、關閉按鈕事件的方法,可通過重寫WndProc實現

主要功能程式碼如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 const int WM_SYSCOMMAND = 0x112; const int SC_CLOSE = 0xF060; const i