繁体   English   中英

如何使用正则表达式检查电话号码

[英]How to check the phone number using Regex

我正在尝试检查用户输入,我希望电话号码类似于000-0000

但是我在这里的代码不能按我的意愿工作。 我输入

"123-4444444"

它也匹配。

我不熟悉Regex,但我需要使用它,你能告诉我如何改变模式吗?

Regex regex = new Regex(@"\d{3}-\d{4}");
if (!(regex.IsMatch(txtUpdatePhoneNumber.Text)))
{
   MessageBox.Show("Phone number format should be 000-0000", "Error");
}

您必须指定开始和开始

请在此处检查正则表达式: https://regex101.com/r/MZ4YPo/1

^ : 字符串的开头
$ : 字符串结尾

^\d{3}-\d{4}$

Regex regex = new Regex(@"^\d{3}-\d{4}$");
if (!(regex.IsMatch(txtUpdatePhoneNumber.Text)))
{
    MessageBox.Show("Phone number format should be 000-0000", "Error");
}

当您为用户输入编写验证器时,它会寻找我。 所以(不幸的是我不得不猜测)在这方面你只需要这个数字,之前或之后什么都不需要。

Regex regex = new Regex(@"^\d{3}-\d{4}$");

这意味着您需要使用^确保前 3 位数字确实位于字符串的开头,否则IsMatch将返回true ,因为它在"something000-0000"中找到了模式

并且在最后 4 位数字之后,字符串使用$结束,否则IsMatch将返回true ,因为它在"000-0000something"中找到模式

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM