2013-07-19 13 views
6

Gram z Angular i piszę testera Regex. Problem polega na tym, że białe znaki są przycinane podczas wprowadzania danych. Zobacz przykład: jsfiddle here:Jak zachować początkowe i końcowe białe znaki podczas korzystania z tagu wejściowego?

Kiedy ładuję stronę, mam RegEx "^ \ d + $" .test ("123"), co skutkuje "Bez dopasowania", ale jeśli wprowadzisz dodatkowe spacje wiodące lub końcowe w polu Skrzynka kandydat:

  1. wiodących i końcowe spacje są usuwane z mojego zmiennej
  2. The wyniku zmiany "Match"

Tu jest mój HTML:

<div id='ng:app' class='ng-app: myApp' ng-app='myApp'> 
    <div ng-controller="Controller">{{addTodo2()}} 
     <form novalidate class="simple-form">Pattern: 
      <input type="text" ng-model="pattern" />Candidate: 
      <input type="text" ng-model="candidate" /> 
      <br />.{{candidate}}. 
      <br>.{{candidate2}}.</form> 
    </div> 
</div> 

I tu jest związany JavaScript:

function Controller($scope) { 
    $scope.pattern = "^\\d+$"; 
    $scope.candidate = " 123 "; 
    $scope.candidate2 = " 123 "; 
    $scope.addTodo2 = function() { 
     var str = "Javascript is an interesting scripting language"; 
     var re = new RegExp($scope.pattern, "g"); 

     var result = re.test($scope.candidate); 
     if (result) { 
      return "Match22"; 
     } else { 
      return "No Match22"; 
     }; 
    }; 

    } 
var myapp = angular.module('myApp', []); 
+1

do widziałeś lub próbował ng -trim = "false" w twoich danych wejściowych? – shaunhusain

Odpowiedz

11

Aktualizacja skrzypce, dodał ng-trim = "false" tagów wejściowych

http://jsfiddle.net/T2zuV/12/

<div id='ng:app' class='ng-app: myApp' ng-app='myApp'> 
    <div ng-controller="Controller">{{addTodo2()}} 
     <form novalidate class="simple-form">Pattern: 
      <input type="text" ng-model="pattern" ng-trim="false"/>Candidate: 
      <input type="text" ng-model="candidate" ng-trim="false"/> 
      <br />.{{candidate}}. 
      <br>.{{candidate2}}.</form> 
    </div> 
</div> 
+0

Dzięki. Dziwne jest to, że ng-trim NIE jest w dokumentacji dla wersji 1.1.5 (prawdopodobnie dlatego go nie widziałem), ale jest w dokumentacji dla 1.1.1. Rzuciłem okiem na kod źródłowy do wersji 1.1.5 i nadal tam jest, ale nie znajduje się on w kodzie źródłowym do migawki. – MrSteve

+0

@MrSteve Przepraszam, nie wiem co ci powiedzieć o dokumentach ... Właśnie zdarzyło mi się, że już widziałem tę dyrektywę i wiedziałem, że radzę sobie z sytuacją, z którą się spotykasz, przypuszczam, że musi być jakiś sposób, aby wnieść wkład do dokumentów. – shaunhusain

+0

Okay wyjaśnienia na temat dokumentów. Chociaż nie możesz znaleźć ng-trim na: [link] (http://docs.angularjs.org/api/ng.directive:input.text), które są dokumentami dla najnowszego stabilnego wydania 1.0.7. Wydaje się, że ng-trim został wprowadzony w 1.1.1 – MrSteve

Powiązane problemy