jQuery val,获得换行字节数的差异

设计数据库时varchar(xx)需要定制字段的长度,所以在限制客户端输入文本内容时就涉及到计算用户输入内容的多少问题。

用为使用jQuery配合.net写了一个验证控件,客户端获得文本TextBox值时肯定是$("#TextBox").val(),提交后经过服务器端代码验证没通过,老是觉得奇怪,以为是压缩了JS脚本导致JS计算文本长度有异常,今天有时间就逐个拆开调试,发现问题在于jQuery的val(),这回奇怪了,使用document.getElementById('TextBox').value获得值换行占2个字符,而$("#TextBox").val()是1个字符,网上GOOGLE一番,得到的结果是:

windows下换行是:\r\n

linux下是:\n

看来jQuery使用的是linux方式获取值,我没细去查jQuery获得值的算法,因为不可能修改jQuery库,劳民伤财影响后期升级,所以使用windows的朋友使用jQuery设计客户端代码判断文本长度时多留意,以免和我一样出现这样的问题。