如何匹配用逗号分隔的经纬度113.19852144995117,28.85057467480469?

经度

/^(\-|\+)?(((\d|[1-9]\d|1[0-7]\d|0{1,3})\.\d{0,7})|(\d|[1-9]\d|1[0-7]\d|0{1,3})|180\.0{0,6}|180)$/

纬度:

/^(\-|\+)?([0-8]?\d{1}\.\d{0,6}|90\.0{0,6}|[0-8]?\d{1}|90)$/

对上面的经度和纬度进行分别单独匹配都能精确的匹配我输入的结果

但是我我使用

onkeyup= "if(!/^(\-|\+)?(((\d|[1-9]\d|1[0-7]\d|0{1,3})\.\d{0,7})|(\d|[1-9]\d|1[0-7]\d|0{1,3})|180\.0{0,6}|180),(\-|\+)?([0-8]?\d{1}\.\d{0,6}|90\.0{0,6}|[0-8]?\d{1}|90)$/.test(this.value)){alert('只能输入数字,小数点不能超过15位');this.value='';}"

拼接他们进行验证一直出错
只要一输入就
图片说明

如何拼接可以让他们匹配上面的数值?
图片说明

在input输入框中可以按格式匹配输入

啊终于解决啦 解决方案

  function coordinateRegex(str){  //传入的前端id 这里需要前端写死
        reg = /^(\-|\+)?(((\d|[1-9]\d|1[0-7]\d|0{1,3})\.\d{0,14})|(\d|[1-9]\d|1[0-7]\d|0{1,3})|180\.0{0,6}|180),(\-|\+)?([0-8]?\d{1}\.\d{0,14}|90\.0{0,6}|[0-8]?\d{1}|90)$/;
id = "#"+str;
        if(!reg.test($(id).val()) && $(id).val()!=null){
            alert("数据格式错误")
        }
    }

感谢大佬 franzhong. 一直在帮我解决问题 谢谢!!!

查看全部
weixin_45310564
2021_fc
2020/04/07 12:10
  • css
  • jquery
  • 点赞
  • 收藏
  • 回答
    私信

1个回复