正则表达式数据注释不允许开始/结束空格(类似于修剪)



我正在使用正则表达式数据注释来验证街道地址字段是否包含数字、字母和空格(介于两者之间)。我希望如果街道字段在用户输入的文本的开头或结尾包含空格,则数据注释会引发错误。

例:

// [123 Fake Street] = valid
// [   123 Fake Street] = not valid
// [   123 Fake Street    ] = not valid
// [123 Fake Street   ] = not valid

这是我到目前为止所拥有的:

[RegularExpression(@"^[a-zA-Z 0-9]+$", ErrorMessage = "Street Address not valid.")]

任何帮助将不胜感激。

谢谢

你只需要稍微改变一下:

"^(?:[a-zA-Z0-9]+s?)+[a-zA-Z0-9]+$" 

这意味着:

  1. 获取 1 个或多个字母或数字以及一个可选的空格,并重复 1 次或多次;
  2. 以一个或多个字母或数字结尾

你也可以写:

"^(?:w+s?)+w+$" 

不确定这是否是一项学术练习,但你能从用户的输入中修剪前导和尾随空格吗?似乎这只是格式问题,而不是合法错误。但是,如果目标是更好地理解正则表达式,请忽略我的漫谈。

如果您正在寻找的只是缺少空格,那么您可以这样做:

^S.+S$

这可确保它以数字开头并以字母、句点或数字结尾。

这基本上相当于:

^[^ ].+[^ ]$

您也可以只查找以数字开头并以字符或句点结尾的内容(用于缩写)

^d.*[w.]$

最新更新