2013-07-19 10 views
6

Ich spiele mit Angular und schreibe einen Regex-Tester. Problem führt Leerzeichen, wenn ich Daten eintrage. Siehe Beispiel jsfiddle here:Wie können führende und nachfolgende Leerzeichen bei Verwendung eines Eingabe-Tags beibehalten werden?

Wenn die Seite geladen wird, habe ich die RegEx "^ \ d + $". Test ("123") was zu "No Match" führt, aber wenn Sie ein zusätzliches Leerzeichen eingeben Kandidatenbox:

  1. Die vorderen und hinteren Räume von meiner Variable
  2. Das Ergebnis entfernt ändert "Match"

Hier ist mein 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> 

Und hier das zugehörige JavaScript ist:

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

haben Sie ng gesehen oder versucht, -trim = "false" in Ihren Eingaben? – shaunhusain

Antwort

11

die Geige aktualisiert, hinzugefügt ng-trim = "false" an den Eingang Tags

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

Danke. Seltsames Ding ist ng-trim ist nicht in der Dokumentation für 1.1.5 (wahrscheinlich, warum ich es nicht gesehen habe), aber es ist in der Dokumentation für 1.1.1. Ich habe einen kurzen Blick auf den Quellcode für 1.1.5 geworfen und es ist immer noch da, aber es ist nicht im Quellcode für Snapshot. – MrSteve

+0

@MrSteve Entschuldigung, ich weiß nicht, was ich dir bezüglich der Dokumente sagen soll ... Ich habe gerade diese Direktive schon gesehen und wusste, dass sie die Situation behandelte, die du erlebst. Ich denke, es muss einen Weg geben, zu den Dokumenten beizutragen. – shaunhusain

+0

Okay, Klarstellung zu den Dokumenten. Sie können ng-trim nicht finden unter: [link] (http://docs.angularjs.org/api/ng.directive:input.text) welche die Dokumente für die neueste stabile Version 1.0.7 sind. Scheint, ng-trim wurde in 1.1.1 – MrSteve

Verwandte Themen