如何使用angularjs限制用户不能在文本框中输入特殊字符
how to restric users not to enter special characters in text box using angularjs
下面是我的代码,用于可编辑的下拉菜单。
<div class="form-group has-success" name="projectForm" style="margin-left:30%;">
<label for="select2" class="control-label">Select Project</label>
<div class="select-editable" id="select2">
<select ng-options="item.label for item in projectValues track by item.id" ng-change="getDataOnProjectLoad(selectedProject)" ng-model="selectedProject">
<input type="text" name="Project" value="select" ng-model="selectedProject.label" id="txtProject" required />
</div>
</div>
如果用户尝试在此可编辑下拉列表中输入特殊字符,则应显示一条错误消息!!!
你的控制器中的某种正则表达式匹配应该可以解决问题,我想:
$scope.labelIsAlphanumeric = function() {
$scope.selectedProject.label.match(/^[0-9a-z]*$/i)
}
那么,在您看来:
<div ng-hide="labelIsAlphanumeric()" class="error-message">
Selected project label has non-alphanumeric characters!
</div>
下面是我的代码,用于可编辑的下拉菜单。
<div class="form-group has-success" name="projectForm" style="margin-left:30%;">
<label for="select2" class="control-label">Select Project</label>
<div class="select-editable" id="select2">
<select ng-options="item.label for item in projectValues track by item.id" ng-change="getDataOnProjectLoad(selectedProject)" ng-model="selectedProject">
<input type="text" name="Project" value="select" ng-model="selectedProject.label" id="txtProject" required />
</div>
</div>
如果用户尝试在此可编辑下拉列表中输入特殊字符,则应显示一条错误消息!!!
你的控制器中的某种正则表达式匹配应该可以解决问题,我想:
$scope.labelIsAlphanumeric = function() {
$scope.selectedProject.label.match(/^[0-9a-z]*$/i)
}
那么,在您看来:
<div ng-hide="labelIsAlphanumeric()" class="error-message">
Selected project label has non-alphanumeric characters!
</div>