我正在使用jquery.validate.js插件的maxlength函数来验证手机号码。如下
txtMobileNo:{
number : true,
minlength: 10,
maxlength: 12
},
并在mysql中对该字段的描述如下......
mobile_no int(11)
当我输入任何有效的手机号码时,它只存储此值“2147483647”..
答案 0 :(得分:1)
这听起来不像验证问题,而是您在数据库中存储值的实际代码。删除jQuery验证。再试一遍。我打赌你还会得到同样的错误。
2147483647是32位有符号整数的最大值。如果你试图在32位有符号整数字段中存储10-12位长的移动数字,那么你几乎总是会溢出。
您几乎肯定会使用varchar(12)或类似的东西来表示数据库。
答案 1 :(得分:0)
我同意@ Carson63000,虽然电话号码由数字组成,但它没有数字值(例如,尝试存储以0开头的数字),所以你应该用它的字符串表示来保存数字,更多特别是,如果它们具有固定的长度,则为varchar或甚至是char。