密码字段中不应允许 space 吗?

Should not allow the space in password field?

每当我使用 ng-pattern 在密码输入字段中输入 space 时需要显示错误消息。

这里是linkJsfiddle demo

您可以检查 indexof 或使用 regX。

HTML

<div ng-app="myApp">
  <div ng-controller="ctrl">

    <form>
      <span>{{error}}</span>
      <input type='password' ng-model='pass' ng-change='check()'>
    </form>
  </div>
</div>

**JS **

  var app = angular.module('myApp', []);

  app.controller('ctrl', function($scope) {
    $scope.error = '';
    $scope.check = function() {
      $scope.pass.indexOf(' ') > -1 ? ($scope.error = 'Invalid') : ($scope.error = '');
    }
  })

希望对您有所帮助

更新 space

正则表达式的使用 - /^\S*$/ 不允许在字符串中的任何位置 space。

<form name="myForm">
   <input type='password' name="passInpt" ng-model='pass' data-ng-pattern="/^\S*$/">
   <div data-ng-show="myForm.passInpt.$error.pattern" >White Space not allowed</div>
</form>

演示:

var app = angular.module("app", []);
app.controller("ctrl", function($scope) {});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>

<body ng-app="app" ng-controller="ctrl">
  <form name="myForm">
    <input type='password' name="passInpt" ng-model='pass' data-ng-pattern="/^\S*$/">
    <div data-ng-show="myForm.passInpt.$error.pattern">White Space not allowed</div>
  </form>
</body>