想要从用户输入中删除以下字符!@#$%^&*()-+=\|[]{}/:;',>.<?例如用户输入以下值"Test1 Dat!@#$%^&*()-+=\|[]{}/:;',>.<?a Re_enter预期结果 = Test1 Data Re_enter我已经尝试过正则表达式,但我没有得到确切的表达式var app = angular.module('myApp', []);app.controller('formCtrl', function($scope) { $scope.submit = function() { var data = $scope.user; console.log(data); }; });<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js"></script><body><div ng-app="myApp" ng-controller="formCtrl"> <form novalidate> Data:<br> <input type="text" ng-model="user.data"><br> <br><br> <button ng-click="submit()">SUBMIT</button> </form> </div>
2 回答
富国沪深
TA贡献1790条经验 获得超9个赞
为了用户体验,如果您第一次不允许输入这些字符会更好。尝试使用onChange 事件并 <input type="text" ng-model="user.data">
使用正则表达式过滤新值,仅在将过滤值设置为模型之后。
您可以在此答案中找到适当的正则表达式
梦里花落0921
TA贡献1772条经验 获得超6个赞
输入元素有一个名为pattern
有 RegExp 允许您限制某些模式(如您的模式)的输入
我认为这就足够了,只允许 Word-Characters ( /\w*/g
)
<input type="text" pattern='*Your RegExp*' ng-model="user.data"><br>
那是 HTML 方式
或者,您可以在基于 React 的前端或后端的深端检查发送的输入数据。有很多解决方案:)
添加回答
举报
0/150
提交
取消