【问题标题】:Regular expression for validating name用于验证名称的正则表达式
【发布时间】:2015-03-19 02:02:50
【问题描述】:

我正在尝试验证表单上的地址输入字段,它必须以以下格式输入“城市、省、国家/地区”

我正在使用以下正则表达式来做到这一点

^[^,]+,\s\w[^,]+,\s\w[^,]+$

当输入“New York, New York, United States”时,这将是有效的。但是,当我输入“N, N, United States”时,它不起作用。似乎一个字母的话是行不通的。我还需要允许用户只输入一个字母。

不确定自己写的正则表达式是否复杂,可以简化

【问题讨论】:

  • 也许是^\w+,\s*\w+,\s*\w+$ -- 你在后两个部分有\w [^,]
  • 只需将\s 设为可选^[^,]+,\s?\w[^,]+,\s?\w[^,]+$ 或使其像\s* 一样重复零次或微尘时间

标签: c# asp.net regex


【解决方案1】:

确保检查破折号:

((\w)|(-)|(\s))+,\s*((\w)|(-)|(\s))+,\s*((\w)|( -)|(\s))+$

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-11
    • 2011-06-09
    相关资源
    最近更新 更多