0

<textarea>二重引用符の間のすべてが緯度または経度であることを検証する必要がある場所があります。単語を 3 回以上使用できないように設定していますが、これで問題ありません。しかし、間違った形式が使用されていることを示すエラー メッセージが表示されます。ユーザーが焦点を合わせていて、引用符の間に何も入れていないか、緯度または経度ではない場合に、エラーがポップアップする必要があります。

これが私のデモです:

フィドル

$('#test').on('keydown focusout', function(e){
var word  = 'latitude',
    count = this.value.match(new RegExp('"\\b'+word+'\\b"','g')) ||  [],
    limiter = $('#output');

$('#output').text(count.length);

return !(count.length > 2 && e.which != 8);

});

//Error - Max limit reached

$('#test').bind('keyup focusout', function(){  
limiter = $('#output');

if(limiter.text() == '3'){

    $('#limitReached').attr("class","hi");
    $('#limitReached').text("You cannot exeed more than 10 coorniates");
    $('#test').css({'border': '1px solid red'});

}
else{
     $('#limitReached').attr("class","bye");
     $('#limitReached').text("");
     $('#test').css({'border': '1px solid black'});
}
});

//Error - Format is wrong

$('#test').on('focusout', function(e){  
var word1  = 'latitude',
    word2  = 'longitude', 
    count = this.value.match(new RegExp('"\\b'+word1+'\\b"','g')) || [];

if ($(this).val() != count){

    $('#limitReached').attr("class","hi");
    $('#limitReached').html('Please use correct JSON format:<br> example - [{"latitude":33.851871,"longitude":-84.364336},]');
    $('#test').css({'border': '1px solid red'});

}
else{
     $('#limitReached').attr("class","bye");
     $('#limitReached').text("");
     $('#test').css({'border': '1px solid black'});
}
});
4

1 に答える 1