1

我想使用 ng-pattern 验证文本字段。该字段应接受除空格以外的所有字符。

我写了以下html:

<input name="username" ng-model="username" ng-pattern='/^[\S]+$/' type="text">

当我评估

{{username.$valid}}

开头和结尾的空格被忽略。它将字符串“ d”(不带引号)评估为有效。

问题是什么?提前致谢!

4

2 回答 2

0

我认为您不能从输入中删除空间包装器。

您可以尝试使用ng-trim='false'(> ver 1.1.1)

防止用户输入空格的其他替代方法。

HTML

<input ng-model='name' ng-trim='false' />

JS

var app = angular.module('angularjs-starter', []);

 app.controller('MainCtrl', function($scope,$timeout) {
 $scope.name = 'World';
 $scope.$watch('name', function() {
     $scope.name = $scope.name.replace(/\s+/g,'');
  });
});

DEMO

于 2013-09-15T20:54:37.220 回答
0

我认为这与您的模式有关,请尝试如下;

/^[\S]*$/
于 2013-09-15T20:12:53.233 回答