0

我正在使用 angularjs。我想对我的姓名字段使用验证。我是正则表达式的初学者。我希望每个单词的第一个字母都应该是大写的。例如,Naveen Kumar 应该是有效的,而 Naveen kumar 是无效的。

我正在使用 ng-pattern 来验证名称字段。我应该使用什么正则表达式?感谢你的帮助。

4

3 回答 3

1

您可以将此正则表达式与ng-pattern

ng-pattern="/^\b[A-Z][a-z]*(\s*\b[A-Z][a-z]*\b)*$/"

演示

此正则表达式仅匹配标题大小写中包含单词(不包含数字或下划线)的条目。因此,Avinash Raj1orAvinash_Raj Raj将无法通过验证。

示例代码:

<label>Single word:
    <input type="text" name="input" ng-model="example.text"
           ng-pattern="/^\b[A-Z][a-z]*(\s*\b[A-Z][a-z]*\b)*$/" required ng-trim="false">
</label>
于 2015-04-27T11:25:19.657 回答
0

怎么样^(\b[A-Z]\w*\s*)+$?见https://regex101.com/r/qP5xG5/1

于 2015-04-27T11:38:09.807 回答
0

您可以使用

^\b(?:[A-Z]\w+\b(?:\s*)?)+$

演示和解释

于 2015-04-27T11:20:10.623 回答