C# 如何检查字符串是否包含特定格式
我正在尝试查看字符串是否包含特定格式。例如,如果某人键入电话号码1234567890,我需要强制某人以特定格式输入电话号码。C# 如何检查字符串是否包含特定格式,c#,regex,C#,Regex,我正在尝试查看字符串是否包含特定格式。例如,如果某人键入电话号码1234567890,我需要强制某人以特定格式输入电话号码。 (###) ###-####. 我正在对一个出售的程序进行更改,该程序的设计非常糟糕,无法在表单中强制格式化。所以,我想知道是否有一种方法可以使用string.contains((#########-####)或任何其他帮助,我们将不胜感激 听起来像是要使用正则表达式(又称正则表达式)。在尝试获取或检查字符串模式时,正则表达式通常是最好的选择 及 a将向您展示大量的示例、
(###) ###-####. 我正在对一个出售的程序进行更改,该程序的设计非常糟糕,无法在表单中强制格式化。所以,我想知道是否有一种方法可以使用string.contains((#########-####)或任何其他帮助,我们将不胜感激 听起来像是要使用正则表达式(又称正则表达式)。在尝试获取或检查字符串模式时,正则表达式通常是最好的选择 及
a将向您展示大量的示例、教程和表达式库您可以使用a听起来您需要使用正则表达式
有很多选项,但最安全的方法是使用Regex类并将字符串与所需的表达式匹配(参见一些示例)为什么不创建一个方法,在其中可以控制字段的格式,例如,如果他们离开字段并键入12345671454,则将其传递到此方法并返回格式化的字符串
public static string FormatNumberPhone(string inputString)
{
string tempString;
tempString = string.Format("{0:(###)###-####}", Convert.ToInt32(inputString));
return tempString;
}
这听起来像是一份工作。基本上,您必须提出一个regexp,然后使用例如IsMatch方法来检查用户输入是否匹配。如果没有,则说明电话号码格式错误 这是一个样本
// Matches (123) 123-1234 or (123) 123 1234
var pattern = @"\((?<AreaCode>\d{3})\)\s*(?<Number>\d{3}(?:-|\s*)\d{4})";
var regexp = new System.Text.RegularExpressions.Regex(pattern);
var userInput = "(123) 555-1243";
if (!regexp.IsMatch(userInput))
{
// Does not match. User input is in incorrect format
return;
}
//匹配(123)123-1234或(123)123-1234
var pattern=@“\(?或google表示正则表达式电话号码。我在示例中使用的表达式与Expresso(免费工具)一起提供.这是winforms、webforms、WPF还是???使用常规表达式。+1-如果这是ASP.NET istead的webforms,Ajax控件工具包上有一个simnilar控件,我确信还有其他控件…是的,这实际上是有意义的:)。谢谢