经度
/^(\-|\+)?(((\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. 一直在帮我解决问题 谢谢!!!