限制并将文本输入到angular.js中的特定语言字符

时间:2013-08-16 09:44:10

标签: javascript angularjs

我正在使用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 个答案:

答案 0 :(得分:4)

这是一个很好的问题。

你可以检查这个语言here的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

答案 1 :(得分:0)

我认为Regex是要走的路。

HTML5具有可用于验证用户输入的新pattern属性,唯一的问题是您还必须处理不支持它的浏览器,使用Angular可以使用{{ 3}}

ngPattern directive将帮助您使用正则表达式。

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