检测一个输入框里面的内容或长度是否合法是用js还是后台技术?

 我来答
xiii130
推荐于2018-04-24 · 知道合伙人软件行家
xiii130
知道合伙人软件行家
采纳数:817 获赞数:2867
爱好编程,在工作中积累了比较丰富的经验。愿与大家共同进步。

向TA提问 私信TA
展开全部
原则 是永远不要相信用户的输入

所以,如果你确认对用户的输入要求严格的话,都是前后台一起做验证

一般的用户,用js验证就可以挡住不合法输入了

不过对于某些人来说,他还是可以绕过js的验证,把不合法的值传到后台,这时后台验证就可以保证安全了

所以,验证用户输入的严格程度根据你的系统要求来

严格,前后台一起严重
不严格,前台js验证即可(js较后台验证可以帮你节约一点系统资源)
追问
用js怎样验证呢?
追答

<input type="text" id="target" onChange="check();">


<script>
function check(){
    var v = document.getElementById('target');
    if(v == ''){
        alert('值不能为空');
        return false;
    }
    if(v.length > 10){
        alert('值长度不能超过10');
        return false;
    }
    re = new RegExp("^[a-zA-Z\u4e00-\u9fa5]+$"); 
    if (!re.test(v)) {
        alert('只能输入汉字和字母');
        return false;
    }
    return true;
}
</script>

更多可以自定义

官人3uoZj
2013-11-27 · 超过63用户采纳过TA的回答
知道小有建树答主
回答量:148
采纳率:0%
帮助的人:168万
展开全部
1,html中可以用maxlength属性限制input框输入的字符最大长度。
2,javascript可以前台验证,一般浏览器都默认支持,但是可以被故意屏蔽。
3,后台程序脚本,例如php等都可以验证,相比前台验证会增加服务器负载。
4,数据库储存的时候可以限制字段值长度,例如varchar(10),多余的会被无视掉。
一般为了防止跳过前台验证,除了在前台主要验证以外,后台辅助验证是必要的;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
河外星的生命
推荐于2016-04-12 · 超过48用户采纳过TA的回答
知道小有建树答主
回答量:110
采纳率:0%
帮助的人:52.4万
展开全部
基本原则是js检测一边,后台仍然要检测。
js或者后台,都可以通过正则表达式来判断。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lkiarest
2013-11-27 · TA获得超过543个赞
知道小有建树答主
回答量:761
采纳率:100%
帮助的人:409万
展开全部
最好是前后端都做check,前端check可以减轻服务器压力,
后端check可以防止client不经过前台页面的处理直接发request到服务器的hack行为
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
白方危英媛
2019-09-13 · TA获得超过3794个赞
知道大有可为答主
回答量:2982
采纳率:29%
帮助的人:193万
展开全部
1,html中可以用maxlength属性限制input框输入的字符最大长度。
2,javascript可以前台验证,一般浏览器都默认支持,但是可以被故意屏蔽。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式