日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

比较全的字符串验证类,有人顶的话以后继续发

發布時間:2023/11/27 生活经验 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 比较全的字符串验证类,有人顶的话以后继续发 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

啥也不說看代碼哈~

Code
using?System;
using?System.Collections.Generic;
using?System.Text;
using?System.Text.RegularExpressions;

namespace?Utility
{
????
public?class?ISExt
????{
????????
private?static?ISExt?instance?=?null;
????????
public?static?ISExt?GetInstance()
????????{
????????????
if?(ISExt.instance?==?null)
????????????{
????????????????ISExt.instance?
=?new?ISExt();
????????????}
????????????
return?ISExt.instance;
????????}
????????
private?ISExt()
????????{
????????}

????????
///?<summary>
????????
///?判斷是否為數字
????????
///?</summary>
????????
///?<param?name="oText">源字符串</param>
????????
///?<returns>返回值?true?false</returns>
????????public?static?bool?IsNumberic(string?oText)
????????{
????????????
try
????????????{
????????????????
int?var1?=?Convert.ToInt32(oText);
????????????????
return?true;
????????????}
????????????
catch?(Exception?ex)
????????????{
????????????????LogWriter.AddSystemException(ex);
????????????????
return?false;
????????????}
????????}

????????
///?<summary>
????????
///?判斷輸入的字符串只包含漢字
????????
///?</summary>
????????
///?<param?name="input"></param>
????????
///?<returns></returns>
????????public?static?bool?IsChineseCh(string?input)
????????{
????????????Regex?regex?
=?new?Regex("^[\u4e00-\u9fa5]+$");
????????????
return?regex.IsMatch(input);
????????}
????????
///?<summary>
????????
///?匹配3位或4位區號的電話號碼,其中區號可以用小括號括起來,
????????
///?也可以不用,區號與本地號間可以用連字號或空格間隔,
????????
///?也可以沒有間隔
????????
///?\(0\d{2}\)[-?]?\d{8}|0\d{2}[-?]?\d{8}|\(0\d{3}\)[-?]?\d{7}|0\d{3}[-?]?\d{7}
????????
///?</summary>
????????
///?<param?name="input"></param>
????????
///?<returns></returns>
????????public?static?bool?IsPhone(string?input)
????????{
????????????
string?pattern?=?"^\\(0\\d{2}\\)[-?]?\\d{8}$|^0\\d{2}[-?]?\\d{8}$|^\\(0\\d{3}\\)[-?]?\\d{7}$|^0\\d{3}[-?]?\\d{7}$";
????????????Regex?regex?
=?new?Regex(pattern);
????????????
return?regex.IsMatch(input);
????????}

????????
/**/
????????
///?<summary>
????????
///?轉半角的函數(DBC?case)
????????
///?</summary>
????????
///?<param?name="input">任意字符串</param>
????????
///?<returns>半角字符串</returns>
????????
///<remarks>
????????
///全角空格為12288,半角空格為32
????????
///其他字符半角(33-126)與全角(65281-65374)的對應關系是:均相差65248
????????
///</remarks>
????????public?static?string?ToDBC(string?input)
????????{
????????????
char[]?c?=?input.ToCharArray();
????????????
for?(int?i?=?0;?i?<?c.Length;?i++)
????????????{
????????????????
if?(c[i]?==?12288)
????????????????{
????????????????????c[i]?
=?(char)32;
????????????????????
continue;
????????????????}
????????????????
if?(c[i]?>?65280?&&?c[i]?<?65375)
????????????????????c[i]?
=?(char)(c[i]?-?65248);
????????????}
????????????
return?new?string(c);
????????}

????????
///?<summary>
????????
///?轉全角的函數(SBC?case)
????????
///?</summary>
????????
///?<param?name="input">任意字符串</param>
????????
///?<returns>全角字符串</returns>
????????
///<remarks>
????????
///全角空格為12288,半角空格為32
????????
///其他字符半角(33-126)與全角(65281-65374)的對應關系是:均相差65248
????????
///</remarks>????????
????????public?static?string?ToSBC(string?input)
????????{
????????????
//半角轉全角:
????????????char[]?c?=?input.ToCharArray();
????????????
for?(int?i?=?0;?i?<?c.Length;?i++)
????????????{
????????????????
if?(c[i]?==?32)
????????????????{
????????????????????c[i]?
=?(char)12288;
????????????????????
continue;
????????????????}
????????????????
if?(c[i]?<?127)
????????????????????c[i]?
=?(char)(c[i]?+?65248);
????????????}
????????????
return?new?string(c);
????????}


????????
///?<summary>
????????
///?判斷是否為小于9位的數字?內線電話
????????
///?</summary>
????????
///?<param?name="input"></param>
????????
///?<returns></returns>
????????public?static?bool?IsInterphone(string?input)
????????{
????????????
if?(!IsDBC(input))
????????????{
????????????????
return?false;
????????????}
????????????
//input?=?ToDBC(input);
????????????if?(input.Length?<?9)
????????????{
????????????????
string?pattern?=?"^-?\\d+$|^(-?\\d+)(\\.\\d+)?$";
????????????????Regex?regex?
=?new?Regex(pattern);
????????????????
return?regex.IsMatch(input);
????????????}
????????????
else
????????????{
????????????????
return?false;
????????????}
????????}

????????
///?<summary>
????????
///?判斷是否是全角
????????
///?</summary>
????????
///?<param?name="input">字符串</param>
????????
///?<returns></returns>
????????public?static?bool?IsSBC(string?input)
????????{
????????????
if?(2?*?input.Length?==?Encoding.Default.GetByteCount(input))
????????????{
????????????????
return?true;
????????????}
????????????
else
????????????{
????????????????
return?false;
????????????}
????????}

????????
///?<summary>
????????
///?判斷是否是半角
????????
///?</summary>
????????
///?<param?name="input"></param>
????????
///?<returns></returns>
????????public?static?bool?IsDBC(string?input)
????????{
????????????
if?(input.Length?==?Encoding.Default.GetByteCount(input))
????????????{
????????????????
return?true;
????????????}
????????????
else
????????????{
????????????????
return?false;
????????????}
????????}
????????
///?<summary>
????????
///?判斷輸入的字符串是否是一個合法的手機號
????????
///?</summary>
????????
///?<param?name="input"></param>
????????
///?<returns></returns>
????????public?static?bool?IsMobilePhone(string?input)
????????{
????????????Regex?regex?
=?new?Regex("^13\\d{9}$");
????????????
return?regex.IsMatch(input);

????????}


????????
///?<summary>
????????
///?判斷輸入的字符串只包含數字
????????
///?可以匹配整數和浮點數
????????
///?^-?\d+$|^(-?\d+)(\.\d+)?$
????????
///?</summary>
????????
///?<param?name="input"></param>
????????
///?<returns></returns>
????????public?static?bool?IsNumber(string?input)
????????{
????????????
string?pattern?=?"^-?\\d+$|^(-?\\d+)(\\.\\d+)?$";
????????????Regex?regex?
=?new?Regex(pattern);
????????????
return?regex.IsMatch(input);
????????}
????????
///?<summary>
????????
///?匹配非負整數
????????
///
????????
///?</summary>
????????
///?<param?name="input"></param>
????????
///?<returns></returns>
????????public?static?bool?IsNotNagtive(string?input)
????????{
????????????Regex?regex?
=?new?Regex(@"^\d+$");
????????????
return?regex.IsMatch(input);
????????}
????????
///?<summary>
????????
///?匹配正整數
????????
///?</summary>
????????
///?<param?name="input"></param>
????????
///?<returns></returns>
????????public?static?bool?IsUint(string?input)
????????{
????????????Regex?regex?
=?new?Regex("^[0-9]*[1-9][0-9]*$");
????????????
return?regex.IsMatch(input);
????????}
????????
///?<summary>
????????
///?判斷輸入的字符串字包含英文字母
????????
///?</summary>
????????
///?<param?name="input"></param>
????????
///?<returns></returns>
????????public?static?bool?IsEnglisCh(string?input)
????????{
????????????Regex?regex?
=?new?Regex("^[A-Za-z]+$");
????????????
return?regex.IsMatch(input);
????????}


????????
///?<summary>
????????
///?判斷輸入的字符串是否是一個合法的Email地址
????????
///?</summary>
????????
///?<param?name="input"></param>
????????
///?<returns></returns>
????????public?static?bool?IsEmail(string?input)
????????{
????????????
string?pattern?=?@"^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$";
????????????Regex?regex?
=?new?Regex(pattern);
????????????
return?regex.IsMatch(input);
????????}


????????
///?<summary>
????????
///?判斷輸入的字符串是否只包含數字和英文字母
????????
///?</summary>
????????
///?<param?name="input"></param>
????????
///?<returns></returns>
????????public?static?bool?IsNumAndEnCh(string?input)
????????{
????????????
string?pattern?=?@"^[A-Za-z0-9]+$";
????????????Regex?regex?
=?new?Regex(pattern);
????????????
return?regex.IsMatch(input);
????????}


????????
///?<summary>
????????
///?判斷輸入的字符串是否是一個超鏈接
????????
///?</summary>
????????
///?<param?name="input"></param>
????????
///?<returns></returns>
????????public?static?bool?IsURL(string?input)
????????{
????????????
//string?pattern?=?@"http://([\w-]+\.)+[\w-]+(/[\w-?./?%&=]*)?";
????????????string?pattern?=?@"^[a-zA-Z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$";
????????????Regex?regex?
=?new?Regex(pattern);
????????????
return?regex.IsMatch(input);
????????}


????????
///?<summary>
????????
///?判斷輸入的字符串是否是表示一個IP地址
????????
///?</summary>
????????
///?<param?name="input">被比較的字符串</param>
????????
///?<returns>是IP地址則為True</returns>
????????public?static?bool?IsIPv4(string?input)
????????{

????????????
string[]?IPs?=?input.Split('.');
????????????Regex?regex?
=?new?Regex(@"^\d+$");
????????????
for?(int?i?=?0;?i?<?IPs.Length;?i++)
????????????{
????????????????
if?(!regex.IsMatch(IPs[i]))
????????????????{
????????????????????
return?false;
????????????????}
????????????????
if?(Convert.ToUInt16(IPs[i])?>?255)
????????????????{
????????????????????
return?false;
????????????????}
????????????}
????????????
return?true;
????????}


????????
///?<summary>
????????
///?計算字符串的字符長度,一個漢字字符將被計算為兩個字符
????????
///?</summary>
????????
///?<param?name="input">需要計算的字符串</param>
????????
///?<returns>返回字符串的長度</returns>
????????public?static?int?GetCount(string?input)
????????{
????????????
return?Regex.Replace(input,?@"[\u4e00-\u9fa5/g]",?"aa").Length;
????????}

????????
///?<summary>
????????
///?調用Regex中IsMatch函數實現一般的正則表達式匹配
????????
///?</summary>
????????
///?<param?name="pattern">要匹配的正則表達式模式。</param>
????????
///?<param?name="input">要搜索匹配項的字符串</param>
????????
///?<returns>如果正則表達式找到匹配項,則為?true;否則,為?false。</returns>
????????public?static?bool?IsMatch(string?pattern,?string?input)
????????{
????????????Regex?regex?
=?new?Regex(pattern);
????????????
return?regex.IsMatch(input);
????????}

????????
///?<summary>
????????
///?從輸入字符串中的第一個字符開始,用替換字符串替換指定的正則表達式模式的所有匹配項。
????????
///?</summary>
????????
///?<param?name="pattern">模式字符串</param>
????????
///?<param?name="input">輸入字符串</param>
????????
///?<param?name="replacement">用于替換的字符串</param>
????????
///?<returns>返回被替換后的結果</returns>
????????public?static?string?Replace(string?pattern,?string?input,?string?replacement)
????????{
????????????Regex?regex?
=?new?Regex(pattern);
????????????
return?regex.Replace(input,?replacement);
????????}

????????
///?<summary>
????????
///?在由正則表達式模式定義的位置拆分輸入字符串。
????????
///?</summary>
????????
///?<param?name="pattern">模式字符串</param>
????????
///?<param?name="input">輸入字符串</param>
????????
///?<returns></returns>
????????public?static?string[]?Split(string?pattern,?string?input)
????????{
????????????Regex?regex?
=?new?Regex(pattern);
????????????
return?regex.Split(input);
????????}
????????
///?<summary>
????????
///?判斷輸入的字符串是否是合法的IPV6?地址
????????
///?</summary>
????????
///?<param?name="input"></param>
????????
///?<returns></returns>
????????public?static?bool?IsIPV6(string?input)
????????{
????????????
string?pattern?=?"";
????????????
string?temp?=?input;
????????????
string[]?strs?=?temp.Split(':');
????????????
if?(strs.Length?>?8)
????????????{
????????????????
return?false;
????????????}
????????????
int?count?=?ISExt.GetStringCount(input,?"::");
????????????
if?(count?>?1)
????????????{
????????????????
return?false;
????????????}
????????????
else?if?(count?==?0)
????????????{
????????????????pattern?
=?@"^([\da-f]{1,4}:){7}[\da-f]{1,4}$";

????????????????Regex?regex?
=?new?Regex(pattern);
????????????????
return?regex.IsMatch(input);
????????????}
????????????
else
????????????{
????????????????pattern?
=?@"^([\da-f]{1,4}:){0,5}::([\da-f]{1,4}:){0,5}[\da-f]{1,4}$";
????????????????Regex?regex1?
=?new?Regex(pattern);
????????????????
return?regex1.IsMatch(input);
????????????}

????????}
????????
/*?*******************************************************************
????????*?1、通過“:”來分割字符串看得到的字符串數組長度是否小于等于8
????????*?2、判斷輸入的IPV6字符串中是否有“::”。
????????*?3、如果沒有“::”采用?^([\da-f]{1,4}:){7}[\da-f]{1,4}$?來判斷
????????*?4、如果有“::”?,判斷"::"是否止出現一次
????????*?5、如果出現一次以上?返回false
????????*?6、^([\da-f]{1,4}:){0,5}::([\da-f]{1,4}:){0,5}[\da-f]{1,4}$
????????*?*****************************************************************
*/
????????
///?<summary>
????????
///?判斷字符串compare?在?input字符串中出現的次數
????????
///?</summary>
????????
///?<param?name="input">源字符串</param>
????????
///?<param?name="compare">用于比較的字符串</param>
????????
///?<returns>字符串compare?在?input字符串中出現的次數</returns>
????????private?static?int?GetStringCount(string?input,?string?compare)
????????{
????????????
int?index?=?input.IndexOf(compare);
????????????
if?(index?!=?-1)
????????????{
????????????????
return?1?+?GetStringCount(input.Substring(index?+?compare.Length),?compare);
????????????}
????????????
else
????????????{
????????????????
return?0;
????????????}

????????}


????}
}

轉載于:https://www.cnblogs.com/xunyuetian/archive/2009/03/18/1415553.html

總結

以上是生活随笔為你收集整理的比较全的字符串验证类,有人顶的话以后继续发的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 精品人妻少妇AV无码专区 | 91美女诱惑| 五月天伊人网 | 日本激情久久 | 日本xxxx在线观看 | 国产黄色一级大片 | 搞逼综合网 | 毛片黄片免费看 | 成人特级毛片 | 岛国av动作片 | 女生毛片| 日本公妇乱偷中文字幕 | 一级黄色大片网站 | 中文字幕乱码一区二区三区 | 国产精品第一 | 波多野结衣免费观看视频 | 亚洲av无码专区在线播放中文 | 精品在线一区二区 | 在线观看视频一区二区三区 | 伊人伊人鲁 | 亚洲精品h | 成人一区av | 秋霞黄色片 | 先锋影音av资源在线观看 | 亚洲无线观看 | a天堂亚洲| 日本成人在线视频网站 | 西西444www大胆无视频 | 欧美亚韩一区二区三区 | 欧美日韩在线播放 | 操操网| 青青草在线免费观看 | 欧美脚交视频 | 国内视频一区 | 青春草在线视频观看 | 精品1卡二卡三卡四卡老狼 日韩三级网 | 在线免费观看视频网站 | 人人妻人人澡人人爽精品欧美一区 | 啪啪综合网 | 波多野结衣二区三区 | 免费av网站大全 | 欧美三日本三级少妇三 | 婷婷久久网 | 无码精品一区二区三区在线 | 精品国产伦一区二区三 | 日本成人网址 | 女人久久久| 国产毛片久久 | 青青草污视频 | 日本三级免费看 | 日韩熟妇一区二区三区 | 国产在线一区二 | 久热久色| 亚洲欧美国产精品专区久久 | 啪啪短视频 | 网址av | 日本内谢少妇xxxxx少交 | 狠狠干天天射 | 午夜剧场欧美 | av先锋资源 | 色综合久久久久久久 | 伊人青青草 | 成人激情开心网 | 911av| 欧美成人综合一区 | 日本肉体xxxx裸体137大胆图 | 国产搞逼视频 | 亚洲春色www | 日本精品不卡 | 欧美成人午夜剧场 | 就要操就要日 | 乌克兰av在线| 五月婷婷视频在线观看 | 少妇高潮视频 | 久久露脸国语精品国产91 | 天天干,天天干 | 91精品啪在线观看国产线免费 | 免费av网站在线播放 | 臭脚猛1s民工调教奴粗口视频 | 国产欧美一区二区三区精华液好吗 | 日韩午夜精品 | 国产一区二区小视频 | 亚洲 欧美 自拍偷拍 | 日韩伦理在线视频 | 999国产精品亚洲77777 | 成人国产精品免费 | 明日花绮罗高潮无打码 | 久久亚洲综合网 | 第一福利视频 | 中文字幕无人区二 | 羞羞羞网站 | 青青草原国产视频 | 五月亚洲婷婷 | 久久九九久久九九 | 韩国伦理在线视频 | 自拍av在线 | 久久国产综合 | 黄三级 | 蜜桃在线一区二区三区 |