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:
- Die vorderen und hinteren Räume von meiner Variable
- 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', []);
haben Sie ng gesehen oder versucht, -trim = "false" in Ihren Eingaben? – shaunhusain