javascript校验
我要对JSP 页面文本框的输入值进行校验,这个文本框输入的值是一个“车牌号”,但这个车牌号在数据库长度为varchar(15), 文本框只能输入“暂未上牌”,“不详”,和正常的车牌号,反正最终的输入值在数据库长度不能大于15 就可以了,因为一个中文在数据库占 3个字节,请问我在页面上如何控制呢?
JavaScript
------解决方案--------------------只要设置文本框最大长度即可了
<input type="text" name="t" id="t" maxlength="15" >
数据库中varchar长度是根据你的字符编码自动判断的,也就是你输入15个英文也可以,输入15个中文也可以,不是按照字节数。同时数据库会自动截掉超过定义长度的字符,也就是如果你提交了20个中文的内容到后端插入数据库,实际也只有前15个保存在表中。
------解决方案--------------------
var str = document.getElementById('input')
if(str!='暂未上牌'
------解决方案--------------------
str!='不详'){
if(getLen(str)>15){
alert('非法输入');
return;
}
}
function getLen(str){
var len = str.length,znLen = 0;
for(var i=0;i<len;i++){
if(str.charCodeAt(i)>255){
znLen += 2;
}
}
return len+znLen;
}