我正在使用正则表达式数据注释来验证街道地址字段以包含数字,字母和空格(中间)。如果街道字段在用户输入的文本的开头或结尾包含空格,我希望数据注释引发错误。
示例:
// [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.")]
任何帮助将不胜感激。
由于
答案 0 :(得分:5)
你只需改变一点:
"^(?:[a-zA-Z0-9]+\s?)+[a-zA-Z0-9]+$"
这意味着:
你也可以写:
"^(?:\w+\s?)+\w+$"
答案 1 :(得分:0)
不确定这是否是学术练习,但您是否可以从用户的输入中修剪前导和尾随空格?看起来它只是一个格式问题而不是一个合法的错误。但如果我们的目标是更好地了解RegEx,请忽略我的随意。
答案 2 :(得分:0)
如果您正在寻找的是缺少空白,那么您可以这样做:
^\S.+\S$
这可以确保它以数字开头,以字母,句号或数字结尾。
这基本上相当于:
^[^ ].+[^ ]$
您还可以查找以数字开头并以字符或句点结尾的内容(缩写)
^\d.*[\w\.]$