在Javascript中,maxlength是指输入的个数,一个中文等于两个字节,我们在数据库中的存储的是字节,当我们的数据库字段是varchar(50),而输入框设置的maxlength = 50的时候,我们可以输入50个字母,但是也可以输入50个中文,传入数据库的时候就会报错,最好的办法就是判断输框的值是否有汉字,有汉字就用英文字符(随便一个都可以)替换
if(taskName.replace(/[^x00-xff]/ig, 'aa').length > 50){ $.showTsInfoDialog("长度不能超过50(一个中文相当于两个)"); return false; }