如何使用javascript在一个文本输入中验证lat和long

时间:2016-12-09 16:15:35

标签: javascript jquery validation

我正在尝试验证美国境内的纬度和长坐标。用户可以在地图上将箭头移动到他们想要的位置,然后拉出纬度/经度,但如果不准确,则用户可以更新纬度/经度。我想创建一个验证,以便用户不要尝试在美国之外添加新位置。

latlong = $('input[name="latLonNew"]').val();

function validateNewPlantsForm(){
  var a = latlong;
   if(isNaN(a) || a < -127 || a > 75){
      alert("Lat/Long not vaild.");
      return;
   }
 }

这总是会把错误抛给我。如何在1个输入文本中验证2个数字?例如,当从箭头中拉出位置时,这就是文本框中的值:39.7867,-105.1258。

1 个答案:

答案 0 :(得分:2)

如果纬度和经度在一个文本字段中汇总,我们可以假设它们以逗号分隔。如果是这样,我们可以在逗号上拆分并循环遍历每个值以检查边界。

function validateNewPlantsForm(latlng){
  var latlngArray = latlng.split(",");
  for(var i = 0; i < latlngArray.length; i++) {
    if(isNaN(latlngArray[i]) || latlngArray[i] < -127 || latlngArray[i] > 75){
      alert("Lat/Long not vaild.");
      return;
    }
  }
}

var latlng = $('input[name="latLonNew"]').val();
validateNewPlantsForm(latlng);