Rya*_*yan 6 javascript regex validation
如何使用正则表达式验证这些文本字段的纬度和经度并显示错误消息?
<div class="form_style">
<fieldset>
<label for="contentText" class="fixedwidth">Name:</label>
<input type="text" name="content_txt" id="contentText" class="inputtext" ><br/>
</fieldset>
<fieldset>
<label for="address" class="fixedwidth">Address:</label>
<input type="text" id="address"class="inputtext" /><br/>
</fieldset>
<fieldset>
<label for="lat" class="fixedwidth">Lat:</label>
<input type="text" id="lat"class="inputtext" /><br/>
</fieldset>
<fieldset>
<label for="lng" class="fixedwidth">Lng:</label>
<input type="text" name="lng" id="lng"class="inputtext" /><br/>
</fieldset>
<fieldset>
<label for="type" class="fixedwidth">Type:</label>
<input type="text" id="type"class="inputtext" /><br/>
</fieldset>
<button id="FormSubmit">Add Marker</button>
</div>
Run Code Online (Sandbox Code Playgroud)
Ben*_*Ben 19
<script type="text/javascript">
var latitude = document.getElementById(lat).value;
var longitude = document.getElementById(lng).value;
var reg = new RegExp("^-?([1-8]?[1-9]|[1-9]0)\.{1}\d{1,6}");
if( reg.exec(latitude) ) {
//do nothing
} else {
//error
}
if( reg.exec(longitude) ) {
//do nothing
} else {
//error
}
</script>
Run Code Online (Sandbox Code Playgroud)
Mos*_*sho 12
随意在这里测试你的正则表达式:
^-?([1-8]?[1-9]|[1-9]0)\.{1}\d{1,6}
Run Code Online (Sandbox Code Playgroud)
在这种情况下,正则表达式将匹配一个负数或正数的数字(1个数字排除'0'和'0')或(一个或两个数字,第一个除9以外,都排除'0'),后跟一个小数点和最多6个其他数字.如果那就是你需要的,那么是的,这会有效.如果您需要不同的格式,请将其发布在评论中,我会尝试使用正确的正则表达式.
谷歌搜索"正则表达式"应该为您提供所需的所有信息.
如果您只需要-90到90之间的数字(或-180和180),您可以这样做:
if (typeof num === 'number' && num <= 90 && num >= -90)
//valid
else
//invalid
Run Code Online (Sandbox Code Playgroud)
如果你需要像°(度)或罗盘方向这样的符号,那么正则表达式可能是有益的.
以下是几种格式的评论:
http://www.geomidpoint.com/latlon.html
归档时间: |
|
查看次数: |
30228 次 |
最近记录: |