- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我创建了一个不允许使用 spl 字符的指令(下划线和空格除外)。一切正常,但它也允许正斜杠。我在这里缺少什么?
下面是我的指令和plunkr:http://plnkr.co/edit/ho6kztdlYau4Zi29Afa5?p=preview
.directive('noSpecialChar', function() {
return {
require: 'ngModel',
restrict: 'A',
link: function(scope, element, attrs, modelCtrl) {
modelCtrl.$parsers.push(function(inputValue) {
if (inputValue === undefined)
return ''
regReplace = new RegExp('[^\\w_/\s/g]', 'ig');
if (inputValue === undefined)
return ''
cleanInputValue = inputValue.replace(regReplace, '');
if (cleanInputValue != inputValue) {
modelCtrl.$setViewValue(cleanInputValue);
modelCtrl.$render();
}
return cleanInputValue;
});
}
}
});
最佳答案
你的正则表达式没有正确构建,如果你想替换除 \w
、_
和 之外的所有内容,你应该使用这个相反:
[^\w_]
(当然是转义的)。
将代码中的正则表达式替换为以下代码:
new RegExp('[^\\w_ ]', 'gi')
Note on
\s
: the\s
matches not only regular space chars () but it also matches other types of empty space as well (
\r\n\t\f\v
). So, I believe you should not use it as you seem not to want other kind of white space being allowed on your input.
检查下面的工作代码。
angular.module('app', [])
.controller('myCtrl', function($scope) {
$scope.username = '';
})
.directive('noSpecialChar', function() {
return {
require: 'ngModel',
restrict: 'A',
link: function(scope, element, attrs, modelCtrl) {
modelCtrl.$parsers.push(function(inputValue) {
if (inputValue === undefined)
return ''
regReplace = new RegExp('[^\\w_ ]', 'gi');
if (inputValue === undefined)
return ''
cleanInputValue = inputValue.replace(regReplace, '');
if (cleanInputValue != inputValue) {
modelCtrl.$setViewValue(cleanInputValue);
modelCtrl.$render();
}
return cleanInputValue;
});
}
}
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.10/angular.js"></script>
<div ng-app="app" ng-controller="myCtrl">
Username : <input type="text" no-special-char ng-model="username" name="userName">
</div>
关于javascript - 限制正斜杠的指令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51878685/
我有一个右下角倾斜的元素,我必须在其上放置一个盒子阴影。有时倾斜的 Angular 被徽章覆盖 - 我的问题不适用,如果是这样的话: 这是信息框及其边 Angular 的 (s)css 部分(还有更多
是否可以在纯 html/css 中创建类似下面的内容? 我想做这个响应式和全 (100%) 宽度(最大左 Angular 100 像素,右边最小 50 像素,类似的东西)。 最佳答案 您可以通过转换(
如何在 fabricjs 文本中为文本提供渐变或斜 Angular 效果?? http://fabricjs.com/fabric-intro-part-2/ 这里给出了形状和所有示例,我将其与文本绑
我用过: http://apps.eky.hk/css-triangle-generator/ 为彼此对 Angular 放置的两个不等边三 Angular 形生成 css: 左下三 Angular
我是一名优秀的程序员,十分优秀!