如何使用javascript限制输入纬度的输入字段?
以下是我尝试过的一段代码。
$('#latitude').on( "keypress",function (e) {
var keypress = e.keyCode || e.which || e.charCode;
var key = String.fromCharCode(keypress);
var regEx = /^[-|+]?[0-9]{0,2}(.[0-9]{0,6})?$/;
var txt = $(this).val() + key;
if (!regEx.test(txt)) {
if(keypress != 8){
e.preventDefault();
}else{
}
}else{
}
});
在这里,我发现了可以在第一个位置输入特殊字符的问题。请帮帮我......
答案 0 :(得分:0)
在验证中还包括以下行:
if (!regEx.test(txt) && !isNaN(txt)) { .... }
答案 1 :(得分:0)
试试这个,同时注意N
和S
也可以包含在纬度中
"^(?:90|[0-8][0-9]):[0-5][0-9]:[0-5][0-9][NS]$"
答案 2 :(得分:0)
此问题已在此处Regular expression for matching latitude/longitude coordinates?得到解答。
它表明以下正则表达式:
^[-+]?([1-8]?\d(\.\d+)?|90(\.0+)?),\s*[-+]?(180(\.0+)?|((1[0-7]\d)|([1-9]?\d))(\.\d+)?)$