5

angular.js を使用してフォームを作成しています。

私のフォームは次のようになります:

<form name="registerForm" class="form-horizontal">
    <div class="control-group">
        <label class="control-label">שם פרטי</label>
        <div class="controls">
            <input type="text" ng-model="register.firstName" placeholder="שם פרטי" required>
        </div>
    </div>
    <div class="control-group">
        <label class="control-label">שם משפחה</label>
        <div class="controls">
            <input type="text" ng-model="register.username" placeholder="שם משפחה">
        </div>
    </div>
    <div class="control-group">
        <label class="control-label">דוא"ל</label>
        <div class="controls">
            <input type="email" ng-model="register.email" placeholder='דוא"ל'>
        </div>
    </div>
</form>

私は内部に登録フォームを作成しています.2つのフィールドがあります.姓と名は特定の言語(英語ではない)でのみ入力する必要があります. 説明: その言語以外の言語はフォームで受け入れられません。

他のすべてのフィールドは英語である必要があります。

ありがとう

4

2 に答える 2

7

これは良い質問です。

この言語の Unicode ブロックはこちらで確認できますヘブライ語だと思いますので、コード範囲は0590-05FF.

次に、ngPattern を使用して、次のような検証を行うことができます。

<input type="text" name="firstName" ng-model="register.firstName" placeholder="שם פרטי" required ng-pattern="pattern"></div>

function ctrl($scope) {
    $scope.pattern = /[\u0590-\u05FF]+/g;
}

Here is the demo

于 2013-08-16T19:03:30.607 に答える
0

正規表現が最適だと思います。

HTML5 には、ユーザー入力を検証するために使用できる新しいpattern属性があります。唯一の問題は、それをサポートしていないブラウザーにも注意する必要があることです。Angular では ngPattern ディレクティブを使用できます。

この質問は、正規表現に役立ちます。

これは単なるフロントエンドの検証であり、バックエンドでもユーザー入力を検証することをお勧めします。

于 2013-08-16T10:34:47.397 に答える