如何在带有角度JS的输入框中仅允许字母
how to allow only alphabets in input box with angular js
我有一个带有角度js验证的输入框。代码是
<div class="col-sm-12">
<input type="text" name="drug_name" class="form-control" placeholder="Drug name" ng-pattern="/[aA-zZ's]$/" ng-model="vmp.medication.drug_name" maxlength="150" typeahead="drugn as drugn.drugName for drugn in vmp.drugList | filter:$viewValue" autocomplete="off" required>
<span class="pull-right font-10">(Max 150 chars.)</span>
<span ng-messages="form.drug_name.$dirty && form.drug_name.$error">
<span ng-message="required" class="error-inner">Drug name is required.</span>
<span ng-message="pattern" class="error-icn">Only Alphabets are allowed</span> </span>
</div>
上面的代码正在验证文本框并在我输入数字时抛出错误。但是我需要的是,它应该限制输入数字。用户根本不应该能够在文本框中输入数字。谁能帮我做到这一点..
这是你正在寻找的ng-pattern-restrict。在您的情况下,应如下所示:
<input type="text" pattern="[a-zA-Z]+" ng-pattern-restrict />
app.directive('name', function() {
return {
require: 'ngModel',
link: function (scope, element, attr, ngModelCtrl) {
function fromUser(text) {
var transformedInput = text.replace(/[^A-Za-z ]/g, '');
console.log(transformedInput);
if(transformedInput !== text) {
ngModelCtrl.$setViewValue(transformedInput);
ngModelCtrl.$render();
}
return transformedInput;
}
ngModelCtrl.$parsers.push(fromUser);
}
};
});
这将不允许数字输入。
相关文章:
- 如何为jQuery屏蔽输入插件创建一个允许字母数字、空格和重音字符的掩码
- Javascript只允许输入字母
- 按字母顺序对输入单选框进行排序
- 输入类型数字,只接受数字,不接受字母jQuery
- 如何限制jsp中的输入只使用字母而不使用JavaScripts(因为JavaScripts被禁用)
- 如何允许用户只输入数字和字母
- 我可以使用javascript将提示输入的第一个字母大写吗
- Javascript:输入框-自动大写第一个字母,但可以重写
- 在我限制输入字母后,不能退格或键入任何内容
- 用于提示输入和输出的JavaScript按字母顺序排序
- 显示给定输入数字的数据集中字母表的所有可能组合
- 来自用户输入的字母阴影
- p:inputMask - 如何自定义掩码字符,例如强制输入以大写某些字母
- JS函数只允许输入字母和空格
- 验证文本区域输入的字母数字值
- 如何验证通过JavaScript正则表达式仅输入的字母和空格
- 如何检查数字输入字段中是否输入了字母字符或符号
- 如何根据输入的字母数量填充进度条
- Angularjs的ui-select-choices会根据输入的字母顺序下拉
- 我想停止输入非字母字符