Jquery 从字符串中查找并删除不兼容的字符
我有一个表格,我需要验证经度和纬度场 下面的代码可以很好地捕获Jquery 从字符串中查找并删除不兼容的字符,jquery,forms,validation,Jquery,Forms,Validation,我有一个表格,我需要验证经度和纬度场 下面的代码可以很好地捕获按键。然而,在focusout部分,有两个问题我无法解决: 1/应将字段中的“不允许”字符替换为“”,但这不会发生 2/警报从未触发 代码如下所示: var allowedLongLat = "0123456789.-"; $("#latitude").keypress( function(e) { var chr = String.fromCharCode(e.which); if
按键
。然而,在focusout
部分,有两个问题我无法解决:
1/应将字段中的“不允许”字符替换为“”,但这不会发生
2/警报从未触发
代码如下所示:
var allowedLongLat = "0123456789.-";
$("#latitude").keypress( function(e) {
var chr = String.fromCharCode(e.which);
if (allowedLongLat.indexOf(chr) < 0)
{
alert("The character "+chr+" is not allowed in this field!");
return false;
}
});
$(document).on("focusout","#latitude",function(){
var str = $("#latitude").val();
var wrongchars = [];
var wrongalert = "";
for (var i = 0, len = str.length; i < len; i++) {
if (allowedLongLat.indexOf(str[i]) < 0)
{
wrongchars.push(str[i]);
}
}
jQuery.each(wrongchars , function(index, value){
$("#latitude").val( str.replace(\'/\'+value+\'/g\', \'\') );
wrongalert += value;
});
if ( wrongalert.lenght > 1 )
{
alert("The characters "+wrongalert+" are not allowed in this field!");
}
});
var allowedLongLat=“0123456789.-”;
$(“#纬度”)。按键(功能(e){
var chr=String.fromCharCode(e.which);
if(允许长时间索引(chr)<0)
{
警报(“此字段中不允许使用字符“+chr+”);
返回false;
}
});
$(文档).on(“focusout”,“纬度”,函数(){
var str=$(“#纬度”).val();
var-errochars=[];
var错误警报=”;
对于(变量i=0,len=str.length;i1)
{
警报(“此字段中不允许使用字符“+ErrorAlert+”);
}
});
你知道我遗漏了什么吗?在代码中发现了一些错误
$("#latitude").val( str.replace(\'/\'+value+\'/g\', \'\') );
有一些打字错误
if ( wrongalert.lenght > 1 )
输入错误,应该是长度
我做了一个三明治
var allowedLongLat = "0123456789.-";
$(document).on("focusout","#latitude",function(){
var str = $("#latitude").val();
var wrongchars = [];
var wrongalert = "";
for (var i = 0, len = str.length; i < len; i++) {
if (allowedLongLat.indexOf(str[i]) < 0)
{
wrongchars.push(str[i]);
}
}
//console.log(wrongchars);
jQuery.each(wrongchars , function(index, value){
console.log(value);
$("#latitude").val( $("#latitude").val().replace(value, '') ); // I simplified here
wrongalert += value;
});
if ( wrongalert.length > 1 )// here was typo error
{
alert("The characters "+wrongalert+" are not allowed in this field!");
}
});
var allowedLongLat=“0123456789.-”;
$(文档).on(“focusout”,“纬度”,函数(){
var str=$(“#纬度”).val();
var-errochars=[];
var错误警报=”;
对于(变量i=0,len=str.length;i1)//这里有输入错误
{
警报(“此字段中不允许使用字符“+ErrorAlert+”);
}
});
可以肯定的是,我们说的是十进制度数,对吗?例如:-4.32135123,15.5123123,是吗?是,对于谷歌地图coords