Javascript 强制街道地址与谷歌地点自动完成?

Javascript 强制街道地址与谷歌地点自动完成?,javascript,angularjs,google-maps,Javascript,Angularjs,Google Maps,我知道我可以限制GooglePlacesAPI只允许使用 选项类型:['address']。我想知道是否有可能强迫用户提供一个街道地址,包括街道号码,即“Drottinggatan 100”,而不仅仅是“Drottinggatan” 如果我无法强制执行此行为,那么有什么好方法可以验证用户是否选择了类似“DrottingGatan 100”而不仅仅是“DrottingGatan” (顺便说一句,我使用的是Javascript API和AngularJS)很好。。您可以使用带有正则表达式的javas

我知道我可以限制GooglePlacesAPI只允许使用 选项
类型:['address']
。我想知道是否有可能强迫用户提供一个街道地址,包括街道号码,即“Drottinggatan 100”,而不仅仅是“Drottinggatan”

如果我无法强制执行此行为,那么有什么好方法可以验证用户是否选择了类似“DrottingGatan 100”而不仅仅是“DrottingGatan”


(顺便说一句,我使用的是Javascript API和AngularJS)

很好。。您可以使用带有正则表达式的javascript匹配函数来检查输入的格式。。。下面的示例将检查地址是否至少包含一个数字

var resultBox=document.getElementById(“ifValid”);
函数textboxChanged(){
var address=document.getElementById(“地址”).value;
if(address.match(/[0-9]/i)==null){
resultBox.style.color=“红色”;
resultBox.innerHTML=“无效”;
}否则{
resultBox.style.color=“绿色”;
resultBox.innerHTML=“有效”;
}
}


无效

为什么不检查地址字符串开头的数字

var resultBox=document.getElementById(“ifValid”);
函数textboxChanged(){
var address=document.getElementById(“地址”).value;
变量部分=地址。拆分(“”);
if(parts.length>1&&!isNaN(parts[0])&&parts[1].length>0){
resultBox.style.color=“绿色”;
resultBox.innerHTML=“有效”;
}否则{
resultBox.style.color=“红色”;
resultBox.innerHTML=“无效”;
}
}


无效

强制用户以某种方式输入值对我来说就像教科书上的验证示例。大多数进行表单验证的逻辑位置都是角度。使用术语数组列表计数如何,确保至少有5项。组合此项检查是否至少存在一个数字,但数字和单词(一)不是完全证明,但似乎是验证的最佳组合之一。我考虑过相同的验证,但不幸的是,如果用户输入了邮政编码,则此项无效。这将是虚假的真实回报。所以可悲的是谷歌没有向我们提供这个选项。这个解决方案有一个问题。有时街道号码不是号码,这是一种坏习惯。例如,街道号码可以是5A。Google Places Autocomplete在一个对象中提供位置数据,并且有一个与其他数据分离的街道编号。