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 具有新的模式属性,您可以使用它来验证用户输入,唯一的问题是您还必须注意不支持它的浏览器,使用 Angular,您可以使用ngPattern 指令

这个问题将帮助您使用正则表达式。

请记住,这只是前端验证,我建议您在后端也验证用户输入。

于 2013-08-16T10:34:47.397 回答