[csharp]
using System;
using System.Text.RegularExpressions;
namespace SG_VQCDataCollection
{
/// <summary>
/// éè¿Framworkç±»åºä¸çRegexç±»å®ç°äºä¸äºç¹æ®åè½æ°æ®æ£æ¥
/// </summary>
public class MetarnetRegex
{
private static MetarnetRegex instance = null;
public static MetarnetRegex GetInstance()
{
if (MetarnetRegex.instance == null)
{
MetarnetRegex.instance = new MetarnetRegex();
}
return MetarnetRegex.instance;
}
private MetarnetRegex()
{
}
/// <summary>
/// å¤æè¾å
¥çå符串åªå
å«æ±å
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
public static bool IsChineseCh(string input)
{
//Regex regex = new Regex("^[\ä¸-\é¾¥]+$");
//æ¹äºä¸ä¸
Regex regex = new Regex("^[\ä¸-\é¾¥]+$");
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>
/// å¤æè¾å
¥çå符串æ¯å¦æ¯ä¸ä¸ªåæ³çææºå·
/// </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, @"[\ä¸-\é¾¥/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 = MetarnetRegex.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;
}
}
}
}
温馨提示:内容为网友见解,仅供参考
c#中如何利用正则表达式判定邮箱的合法性
\/\/\/ <returns>如果正则表达式找到匹配项,则为 true;否则,为 false。<\/returns> public static bool IsMatch(string pattern, string input) { Regex regex = new Regex(pattern); return regex.IsMatch(input); } \/\/\/ \/\/\/ 从输入字符串中的第一个字符开始,用替换字符串替换指定的正则表达式模...
求c#里,窗体应用程序中,如何确认输入的一个邮箱是否合法,求详细?
string email = txtEmail.Text;if (regEmail.IsMatch(email))\/\/email 填写符合正则表达式 { MessageBox.Show("符合正则表达式:"+regEmail.ToString()+"\\n邮箱填写成功!");} else { MessageBox.Show("不符合正则表达式:"+regEmail.ToString()+"\\n邮箱格式不正确!");} ...
C#中如何验证邮箱正确性?
正则表达式 验证Email地址:“^\\w+[-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$”
c#怎么判断文本框输入的电子邮箱格式是否正确,如果正确就执行下一个...
利用正则表达式:public bool IsEmail(string value){ return System.Text.RegularExpressions.Regex.IsMatch(value, @"\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*");} 传入字符串参数,返回 true 代表符合邮箱格式。
C# 编写一个程序 判断用户输入的邮箱格式是否正确并提示 知道输入正确...
^[0-9a-zA-Z_]+@[0-9a-zA-Z_]+\\.[0-9a-zA-Z_]+
asp.net(c#)如何读取数据库中数据来验证登陆的用户和密码是否正确_百度...
1、使用的ASP.NET(c#)代码开发语言里头的正则表达式Regex对象,它有一个IsMatch方法用于专门验证正则表达式。2、准备一段asp.net(c#)网页代码,用于测试邮箱地址格式呈现使用。3、准备一段asp.net(c#)网页的cs代码。4、执行我们的ASP.NET(C#)网页测试页面,输入字符串liu。5、输入正确格式的邮件地址,...
C# 邮箱验证求解释!!
在字符串双引号前面,表示这串字符串将不进行转义。其他的就是正则表达式的内容 ^ 匹配字符串开始,$ 匹配字符串结尾 \\w 匹配英文数字下划线 + 出现一次或更多次 出现0次或多次 [] 是一个集合 () 是一个分组 \\. 代表字符 .
网页制作中,如何判断输入了非法的字符?
UBB(form.username.value)这些时论坛使用的不让输入如 "<" ">" "'"这样的一些字符 就好了,不过用户名最好还时使用正则表达式 C#中的VS自带的 正则表达式:身份证: \\d{17}[\\d|X]|\\d{15} 电话号码: (\\(\\d{3}\\)|\\d{3}-)?\\d{8} 电子邮箱: \\w+([-+.']\\w+)*@\\w+([-.]...
C#如何对用户名进行合法性检查?比如开头只能用小写 只能包含字母数字和...
用正则表达式验证即可。Regex myRex = new Regex("这里根据你要求的正则表达式");string s = txtBox1.text;Match m = myRex.Match(s);下面是我我以前找的常用正则表达式。根据自己需要进行组合。"^\\d+$" \/\/非负整数(正整数 + 0)"^[0-9]*[1-9][0-9]*$" \/\/正整数 "^((-\\d...
c#怎么用正则判断路径合法性
正则表达式 webform 的话加个验证控件,里面的正则式自己写.--- 如果为了省事,完全可以用folderdialog和openfiledialog和savefiledialog,如果需要这样的方法,可以用DirectoryInfo ,生成实例, 然后exist可以判断存在否.