如何使用 Javasvript/angularjs 从用户输入中删除特殊字符?

想要从用户输入中删除以下字符


!@#$%^&*()-+=\|[]{}/:;',>.<?

例如用户输入以下值


"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>


子衿沉夜
浏览 146回答 2
2回答

富国沪深

为了用户体验,如果您第一次不允许输入这些字符会更好。尝试使用onChange 事件并&nbsp;<input type="text" ng-model="user.data">使用正则表达式过滤新值,仅在将过滤值设置为模型之后。您可以在此答案中找到适当的正则表达式

梦里花落0921

输入元素有一个名为pattern有 RegExp 允许您限制某些模式(如您的模式)的输入我认为这就足够了,只允许 Word-Characters (&nbsp;/\w*/g)<input&nbsp;type="text"&nbsp;pattern='*Your&nbsp;RegExp*'&nbsp;ng-model="user.data"><br>那是 HTML 方式或者,您可以在基于 React 的前端或后端的深端检查发送的输入数据。有很多解决方案:)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript