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 Raj1またはAvinash_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+\b(?:\s*)?)+$

デモと説明を見る

于 2015-04-27T11:20:10.623 に答える
0

どう^(\b[A-Z]\w*\s*)+$ですか?https://regex101.com/r/qP5xG5/1を参照してください

于 2015-04-27T11:38:09.807 に答える