【问题标题】:Regular Expression for Microsoft Dynamics 2016 address fieldMicrosoft Dynamics 2016 地址字段的正则表达式
【发布时间】:2018-06-20 18:44:24
【问题描述】:

我正在尝试使用正则表达式来阻止未在此应用程序中使用正确大小写的申请人。

我只希望每个单词的第一个字母大写,例如“25 Front Street”。如果有人输入“25 front Street”,我希望正则表达式验证错误可见,直到进行更正。

我尝试了几种不同的方法,但似乎都无法做到。

【问题讨论】:

  • 您可以发布您尝试过的内容吗?它与预期行为有何不同?
  • function toTitleCase(str){return str.replace(/([^\W_]+[^\s-]*) */g, function(txt){return txt.charAt(0 ).toUpperCase() + txt.substr(1).toLowerCase();});}
  • 它停止并显示消息,但是当我更正大写时它仍然阻止我继续

标签: javascript python regex


【解决方案1】:

我假设您希望每个单词的第一个字母大写:该字母后面是数字还是字母。

正则表达式精确匹配大写单词:/\b([A-Z](?:[A-Za-z])*)/g

RegExp 查找字符串中的所有单词:/\b(?:[A-Za-z]+)/g

结合使用两者,我在这里创建了一个验证器供您测试:https://jsfiddle.net/yeshas93/zp6drbma/32/

希望这能满足您的要求。

另外,这是我为测试各种字符串而创建的正则表达式测试器:https://regex101.com/r/jHfOU8/5

【讨论】:

  • 谢谢,我把它放在测试器中,出现错误,它说 / 必须用反斜杠 () 转义未转义的分隔符
  • 在正则表达式测试器中,默认情况下会添加 /.../g。只粘贴这么多代码:\b([A-Z](?:[A-Za-z])*)
  • 我不知道该怎么做,但我不想将字母更改为大写等。我只是希望错误消息一直保留到地址修复为止。
  • 成功了!我将把它放在我的测试中并查看结果。你是最棒的!!!!!!!!!!!!!!!!!!!!!!!!
  • 我放入了我的测试应用程序,但仍然无法正常工作,更正后消息不会消失。
猜你喜欢
  • 2012-07-12
  • 2018-03-01
  • 2013-01-16
  • 2011-06-20
  • 2017-03-15
  • 2015-11-22
相关资源
最近更新 更多