检测一个输入框里面的内容或长度是否合法是用js还是后台技术?
发布网友
发布时间:2022-04-24 09:24
我来回答
共5个回答
热心网友
时间:2022-04-24 10:53
原则 是永远不要相信用户的输入
所以,如果你确认对用户的输入要求严格的话,都是前后台一起做验证
一般的用户,用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>
更多可以自定义
热心网友
时间:2022-04-24 12:11
1,html中可以用maxlength属性*input框输入的字符最大长度。
2,javascript可以前台验证,一般浏览器都默认支持,但是可以被故意屏蔽。
3,后台程序脚本,例如php等都可以验证,相比前台验证会增加服务器负载。
4,数据库储存的时候可以*字段值长度,例如varchar(10),多余的会被无视掉。
一般为了防止跳过前台验证,除了在前台主要验证以外,后台辅助验证是必要的;
热心网友
时间:2022-04-24 13:46
基本原则是js检测一边,后台仍然要检测。
js或者后台,都可以通过正则表达式来判断。
热心网友
时间:2022-04-24 15:37
最好是前后端都做check,前端check可以减轻服务器压力,
后端check可以防止client不经过前台页面的处理直接发request到服务器的hack行为
热心网友
时间:2022-04-24 17:45
1,html中可以用maxlength属性*input框输入的字符最大长度。
2,javascript可以前台验证,一般浏览器都默认支持,但是可以被故意屏蔽。