加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 带有数字和特殊字符但没有字母的正则表达式

发布时间:2020-12-15 08:33:48 所属栏目:百科 来源:网络整理
导读:我正在制作一个接受任何小数(0-9),*或#的输入的正则表达式,但不应接受任何字母(a-z). 所以数字就像 #192# * 31#32475728966 0479266315 32495959511 应该被接受. 当字符串中有任何字母时,正则表达式无效. #192#abbef a0479266315 这是我到目前为止的正则表达
我正在制作一个接受任何小数(0-9),*或#的输入的正则表达式,但不应接受任何字母(a-z).

所以数字就像

>#192#
> * 31#32475728966
> 0479266315
> 32495959511

应该被接受.

当字符串中有任何字母时,正则表达式无效.

>#192#abbef
> a0479266315

这是我到目前为止的正则表达式:

private const string PhoneNumberRegex = "((d)|(*)|(#)|(+))?";

private bool IsValid(inputString)
{
    // Accept * # + and number
    Match match = Regex.Match(inputString,PhoneNumberRegex,RegexOptions.IgnoreCase);
    return match.Success;
}

但是这个正则表达式在#192#abbef上也会返回true

我怎样才能解决这个问题?

解决方法

你可以用这个:
private const string PhoneNumberRegex = @"^[0-9*#+]+$";

其中^和$是字符串开头和结尾的锚点.

注意:不需要RegexOptions.IgnoreCase.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读