3

緯度と経度の検証を作成しています。

今、これは私のjQueryスクリプトです:

var latlngVal = /^(-?([1-8]?[1-9]|[1-9]0)\.{1}\d{1,6}),{1}(-?([1]?[1-7][1-9]|[1]?[1-8][0]|[1-9]?[0-9])\.{1}\d{1,6})/;
var latlng = $("input#latlng").val();
var invalid_latlng = 'Latitude and Longitude are not correctly typed';

// Validate Latitude and Longitude
if(!latlngVal.test(latlng)) {

    // ERROR

    $("#error").html(invalid_latlng);
    return false;;
};

Googleからの出力は、63.548552、-127.529297のようになります。

Googleから緯度と経度を直接コピーして、ビデオで挿入する方法を紹介しています。しかし、どういうわけか、検証では、入力された緯度と経度が間違っていると引き続き言われます。

varlatlngValが正しいか間違っているか知りたいのですが。

そして、私もこのスクリプトを実行していますが、それも機能していないようです。

var emailVal = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
var email = $("input#email").val();
var invalid_email = 'Please type a valid e-mail address';

// If e-mail address is not empty - validate
if (!email == '') {
    if(!emailVal.test(email)) {

        // ERROR - customize

        $('#error').html(invalid_email);
        return false;
    }
};

ここでの問題は、メールが空かどうかをチェックしていないように見えることです。ここでも何かが間違っているかどうか教えてください。彼らがそれをタイプしなかったならば、私は電子メールを検証したくありません。

4

1 に答える 1

8

私はあなたのコードにいくつかの変更を加える自由を取りました。

RegExを次のように変更しました:

/^-?([0-8]?[0-9]|90)\.[0-9]{1,6},-?((1?[0-7]?|[0-9]?)[0-9]|180)\.[0-9]{1,6}$/;

lattoおよびlngto-90.XXXXXXを有効にします90.XXXXXX-180.XXXXXX180.XXXXXX

例:-85.123456,-100.123456

そして、電子メールが空かどうかを確認するには:

if (email.length !== 0) {

デモ http://jsfiddle.net/nRha8/2/

于 2012-06-13T19:29:41.947 に答える