【发布时间】:2017-05-26 23:34:57
【问题描述】:
为某些输入验证编写 angularjs 自定义指令,例如不允许输入超过 10 个字符,并且不允许输入有前导或尾随空格,编写如下代码
angular.module("angulareDir", [])
.directive("myDirective", function() {
return{
restrict: 'A',
link: function($scope, elem, attrs) {
var reg = /^\s+|\s+$/g;
angular.element(elem).on("keypress", function(e) {
var eMessage = angular.element("#message-error");
if (elem.val().length >= 10) {
e.preventDefault();
}
if (reg.test(elem.val()) === true) {
eMessage.show();
e.preventDefault();
}
});
}
};
});
它适用于值超过 10 个字符的输入,并且正如预期的那样不允许用户在 10 个字符之后输入,但它不适用于前导/尾随空格,我不确定我的正则表达式是否错误? ?
当我像
这样的字符串前后有空格时,用例对我不起作用空间空间空间“你好世界”空间空间空间
注意:我只想让用户在字符串之间有空格,而不是在字符串的开头和结尾,我想在用户开始在输入框中输入时检查这一点
【问题讨论】:
标签: javascript angularjs regex angularjs-directive