Строка содержит только url с google.it и wikipedia.it. У меня была бы форма проверки.IndexOf() не работает с областью действия
<form name="myForm" ng-controller="formController">
<input type="url" ng-model="url" name="url" ng-model="url">
</form>
<script type="text/javascript">
angular.module("myApp", [])
.controller("formController", function($scope) {
$scope.url='http://.google.it || http://wikipedia.it' ;
})
</script>
Вы можете использовать метод String.prototype.includes()
для поиска подстрок:
var result = $scope.url.includes('google.it') || $scope.url.includes('wikipedia.it');
вам нужно сравнить его:
angular.module("myApp", [])
.controller("formController", function($scope) {
$scope.yourGoogleLink = 'http://.google.it';
$scope.yourWikiLink = 'http://wikipedia.it';
//indexOf returns -1 if the string is not found
if ($scope.yourWikiLink.indexOf($scope.url) === -1 || $scope.yourGoogleLink.indexOf($scope.url) === -1) {
alert("no");
} else {
alert("yes"); }
})
Метод indexOf:
http://www.w3schools.com/jsref/jsref_indexof.asp
оператор =
дает новое значение переменной, а ==
сравнивает значения двух переменных. ===
используется в JavaScript, когда значением может быть, например, строка, или число, или нуль.
для получения дополнительной информации о операторах JavaScript смотрите здесь:
http://www.w3schools.com/js/js_operators.asp
вы также можете работать на стороне HTML, например:
<button type="submit" ng-disabled="url != yourGoogleLink || url != yourWikiLink"></div>
который только установил бы кнопку отправки, когда адрес правильный.
https://docs.angularjs.org/api/ng/directive/ngDisabled
Привет
indexOf()
как вам предлагает @messerbill.