用regRange輕易實現特定數字範圍的正則驗證,如時間,IP等 (轉)
經常會看到類似以下的鄭澤驗證
1.時間
^(0|[1-9]d{0,2}|[0-1]d{3}|20d{2}|20[0-4]d|2050)-(d|0d|1[0-2])-(d|[0-2]d|3[0-1])( (d|[0-1]d|2[0-3]):(d|[0-4]d|5[0-9])(:(d|[0-4]d|5[0-9]))?)?$
2.
^(0|[1-9]d?|[0-1]d{2}|2[0-4]d|25[0-5]).(0|[1-9]d?|[0-1]d{2}|2[0-4]d|25[0-5]).(0|[1-9]d?|[0-1]d{2}|2[0-4]d|25[0-5]).(0|[1-9]d?|[0-1]d{2}|2[0-4]d|25[0-5])$
看起來需要一定正則知識的人才能寫出來,但現在用了regRange就不一樣了
你只需要寫數字範圍以外的符號,如"-",":","."等
1.時間
string regDate=regRange(2050) + "-" + regRange(12) + "-" + regRange(31);
string regTime=regRange(23) + ":" + regRange(59) + "(:" + regRange(59) + ")?";
string regDateTime= "^" + regDate + "( " + regTime + ")?$";
2.IP地址
string regIP= "^" + regRange(255) + "." + regRange(255) + "." + regRange(255) + "." + regRange(255) + "$";
是不是變得很簡單?
regRange程式碼如下
string regRange(int t){
/**********(qiushuiwuhen 2002-12-12)***********/
string s=t.ToString();
int p,l=s.Length;
StringBuilder ret=new StringBuilder("(");
if(l>2)
ret.Append("0|[1-9]d"+((l>3)?"{0," + (l-2) + "}":"?")+"|");
else if(l>1)
ret.Append("|");
for(int i=0;i
ret.Append("|"+s.Substring(0,i));
p=s[i]-48;
if(l-i>1)
ret.Append(((p>1)?"[0-" + (p-1) + "]":"0")+((l-i>2)?"{" + (l-i-1) + "}":""));
else
ret.Append(((p>0)?"[0-" + p + "]":"0")+")");
}
return ret.ToString();
}
範例:
for(int i=0;i<33;i++)
if(!Regex.IsMatch("2002-12-"+i,regDateTime))Response.Write(i+" Error
");
for(int i=0;i<257;i++)
if(!Regex.IsMatch("127.0.0."+i,regIP))Response.Write(i+" Error
");
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752019/viewspace-977243/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- JS 正則驗證數字JS
- MVC驗證04-自定義驗證規則、日期範圍驗證MVC
- Go IP 段範圍校驗Go
- 正則實現二代身份證號碼驗證詳解
- Matlab產生特定範圍的隨機數矩陣Matlab隨機矩陣
- JS驗證URL正則JS
- js正則驗證身份證號JS
- JS實現檢查給定時間範圍是否在每天的某個時間段內JS
- 正則實現數學運算
- 實體店是否屬於數字化智慧經營的適用範圍?
- js正則驗證特殊字元JS字元
- js實現驗證碼倒數計時JS
- Oracle日期時間範圍查詢Oracle
- jQuery正則驗證15/18身份證jQuery
- 用批處理實現的刪除特定時間以前的檔案
- PHP實現隨機數字、字母的驗證碼功能PHP隨機
- JS正規表示式驗證數字(非常全)JS
- 正規表示式數字數字型別驗證程式碼型別
- 各類IP地址的範圍
- JS常用正規表示式及驗證時間的正規表示式JS
- 在ASP.NET下實現數字和字元相混合的驗證碼 (轉)ASP.NET字元
- ip格式驗證正規表示式
- 譜範數正則(Spectral Norm Regularization)的理解ORM
- 數字訊號處理實驗一(離散時間訊號的MATLAB實現)Matlab
- 將nan, inf轉為特定的數字NaN
- 驗證二進位制數字正規表示式
- 簡易實用的JavaScript日期時間操作!JavaScript
- ip、數字的互轉
- Javascript使用正則驗證身份證號(簡單)JavaScript
- iOS擷取特定的字串(正則匹配)iOS字串
- DDD中實現業務規則的驗證 - Marcin
- MySQL 時間戳的 獲取 & 轉換為特定時間格式MySql時間戳
- Ionic Angular 實現驗證碼倒數計時功能Angular
- 數字轉時間間隔格式處理
- PHP算式驗證碼和漢字驗證碼的實現方法PHP
- js驗證數字JS
- 賬戶、密碼格式···正則驗證密碼
- php正則驗證手機、郵箱PHP