我有一个表单,用户可以在其中插入相应照片的GPS坐标。很容易过滤掉无效的数字,因为只需要测试纬度/经度坐标是否在(-90, 90)、(-180, 180)范围内。
然而,这也意味着普通文本是有效输入。
我尝试更改测试模式为
var pattern= "^[a-zA-Z]"
并且被用于函数来检测字母字符
$(".lat").keyup(function(){
var thisID= this.id;
var num = thisID.substring(3, thisID.length);
var thisVal = $(this).val();
//if invalid input, show error message and hide save button
if (pattern.test(thisVal)){
$("#latError"+num).fadeIn(250);
$("#save"+num).fadeOut(100)
}
else { //otherwise, hide error message and show save
$("#save"+num).fadeIn(250);
$("#latError"+num).fadeOut(100);
}
});
然而,这并不起作用,因为Firebug提示
pattern.test
不是一个函数。如何解决这个问题?
43.06982
,-80.3847
。无效的值将大于90或小于-90。 - Jason