首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在html中隐藏"maxlength“

如何在html中隐藏"maxlength“
EN

Stack Overflow用户
提问于 2017-07-31 23:27:42
回答 3查看 317关注 0票数 0

以下是我在注册和登录表单上使用的代码,限制用户输入有限数量的字符:

代码语言:javascript
复制
$( "#limit1" ).attr('maxlength','11').on('input', function() {
if ($(this).val().length>=11) {
    alert('Maximum 11 characters are allowed!');       
}
});

但是,通过"inspect元素“,他们可以在html中编辑最大长度并提交表单。

那么我怎么才能阻止这一切呢?我正在寻找任何合适的解决方案,以防止用户注册/输入超过允许的字符。

EN

回答 3

Stack Overflow用户

发布于 2017-07-31 23:36:36

作为web开发的经验法则,永远不会信任任何客户端输入,因为没有办法阻止任何人在web浏览器中打开开发人员工具并编辑他们想要的东西。此外,大多数注册页面垃圾数据来自机器人,它们会直接发布到您的注册页面,甚至不会影响您可能写的任何检查。

因此,虽然您可以在客户端放置一些额外的检查,以避免实时服务器检查,并保持您的网站快速运行,但您必须始终检查数据服务器端的,并相应地通知客户端,如果他试图在表单中输入不正确的数据。

有一些答案需要JavaScript才能工作。许多机器人都会忽略JavaScript,按照自己的意愿将一些数据发布到您的服务器上,并且不会被任何客户端代码打扰。

所以只需要在服务器端验证数据即可。

票数 1
EN

Stack Overflow用户

发布于 2017-07-31 23:32:55

试一试,放入return false以防止提交表单。

代码语言:javascript
复制
  $( "#limit1" ).attr('maxlength','11').on('input', function() {
        if ($(this).val().length>=11) {
            alert('Maximum 11 characters are allowed!');       
            return false;
        }
        });
票数 0
EN

Stack Overflow用户

发布于 2017-07-31 23:33:45

在这里,您可以使用解决方案https://jsfiddle.net/9pc782eb/2/

代码语言:javascript
复制
$('#limit1').keypress(function(e){
   if($(this).val().length >= 11) {
      e.preventDefault();
      alert('Maximum 11 characters are allowed!'); 
   }
});
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="limit1" />

上,按键限制用户。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45419825

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档