javascript - 检查文本框中的整个字符串值是否为零(0)或特殊字符

标签 javascript angularjs html angularjs-directive

我有一个文本框,其中我正在获取长度为 20 的文本类型的输入,我有一个场景,其中我必须评估从客户端输入的整个字符串是否不为零或任何特殊字符

例如:00000000000,00000,00,00000,00000/-/--,/-/-----////,aBadf-018---///sdf484,AA////---000 以上所有输入均无效,字符串可以是 2 到 20 之间的任意长度,

我限制用户输入除连字符和破折号之外的其他特殊字符, 此处使用的正则表达式使连字符和破折号以外的值无效,如下所示:

"/[^a-zA-Z0-9/-]/g "

<input type="text" name="consumer_number" maxlength="25" ng-disabled="!form_data[selectedTab].electrici‌​ty.check" alpha-numeric-with-slash-and-hyphen data-ng-model="form_data[selectedTab].electric‌​ity.unique_no" class="input-field" data-ng-blur="validateElecConsumer(selectedTab‌​)" ng-class="{true:'invalid-field',false:''}[form‌​_data[selectedTab].e‌​lectricity.check && form_data[selectedTab].invalid.electricity]" required /> 

现在我关心的是如何预先显示一条消息,表明用户提供的任何输入都是无效的。

最佳答案

这可能有帮助:

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

app.controller("MyController", function($scope){
  $scope.inputtext = "";
  $scope.onSubmit = function() {
    var val = $scope.inputtext;
    if (val.length < 2 
        || val.length > 20 
        || !val.match(/[^a-zA-Z0-9/-]/g)) {
      alert("Unacceptable");
    } else {
      alert("you pass");
    }
  };

});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>

<div ng-app="app" ng-controller="MyController">
  <input  maxlength="20" 
      id="inputtext" 
      ng-model="inputtext" type="text"/>
  <button id="submitbutton" ng-click="onSubmit()" type="text">submit</button>
</div>

关于javascript - 检查文本框中的整个字符串值是否为零(0)或特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42373903/

相关文章:

javascript - 似乎无法获得正确的操作顺序

html - 使用 CSS 最大高度过渡向上/向下滑动?

html - 如果页面宽度缩小,将 4 张图像水平居中并垂直堆叠?

javascript - 从指令调用函数到 Controller

javascript - Dojo 数据网格 : set conditionally editable column (change at runtime)

javascript - 无法将搜索栏定位在标题图片的右侧

asp.net-mvc - 启用优化时 AngularJS 不起作用 ASP.NET MVC

javascript - 如何在用 TypeScript 编写的 Angular Controller 上访问范围值(在测试中)?

javascript - 同时使用 Angular 1 和 Angular 2

html - 如何为两个不同的 css 属性使用两个缓入缓出效果?