2015-07-01 41 views
0

我知道我可以限制Google Places API只使用 選項types: ['address']返回地址。我想知道是否可以強制用戶提供街道地址,包括街道號碼,即「Drottninggatan 100」,而不僅僅是「Drottninggatan」?使用Google商家信息自動填充功能強制街道地址?

如果我不能強制這種行爲,驗證用戶選擇了像「Drottninggatan 100」而不僅僅是「Drottninggatan」的好方法是什麼?

(順便說一句,我使用JavaScript API和AngularJS)

+0

迫使用戶輸入的值的特定方式聽起來像我確認的教科書的例子。大多數邏輯放置在你的表單驗證中,都是在Angular中。 –

回答

0

嗯..你可以使用正則表達式使用的JavaScript匹配功能檢查輸入的格式...以下示例將檢查地址至少包含一個數字。

var resultBox = document.getElementById("ifValid"); 
 

 
function textboxChanged(){ 
 
    var address=document.getElementById("address").value; 
 
    
 
    
 
    if (address.match(/[0-9]/i)==null){ 
 
     resultBox.style.color="red"; 
 
     resultBox.innerHTML="not valid"; 
 
    } else { 
 
     resultBox.style.color="green"; 
 
     resultBox.innerHTML="valid"; 
 
    } 
 

 
}
<input type="text" id="address" placeholder="enter an address" onkeyup="textboxChanged()"> 
 
    
 
<p id="ifValid" style="color: red;">not valid</p>

+0

我曾考慮過相同的驗證,但不幸的是,如果用戶輸入了郵政編碼,這將無效。這將是一個虛假的真實回報。很傷心谷歌不提供這個選項給我們。 – Hirbod

-1

爲什麼不能在地址字符串的開頭檢查多少?

var resultBox = document.getElementById("ifValid"); 
 

 
function textboxChanged() { 
 
    var address = document.getElementById("address").value; 
 

 
    var parts = address.split(' '); 
 
    if (parts.length > 1 && !isNaN(parts[0]) && parts[1].length > 0) { 
 
    resultBox.style.color = "green"; 
 
    resultBox.innerHTML = "valid"; 
 
    } else { 
 
    resultBox.style.color = "red"; 
 
    resultBox.innerHTML = "invalid"; 
 
    } 
 

 
}
<input type="text" id="address" placeholder="enter an address" onkeyup="textboxChanged()"> 
 
<p id="ifValid" style="color: red;">not valid</p>

JS Bin demo: https://jsbin.com/vayanu

+0

不好的做法。街道號碼可以是例如5A。 Google商家信息自動填充功能可將地點數據提供給對象,並將街道號與其餘數據分開。 –

相關問題