验证经度的正则表达式:
/^(-|+)?(((\d|[1-9]\d|1[0-7]\d|0{1,3}).\d{0,15})|(\d|[1-9]\d|1[0-7]\d|0{1,3})|180.0{0,15}|180)$/
验证纬度的正则表达式:
/^(-|+)?([0-8]?\d{1}.\d{0,15}|90.0{0,15}|[0-8]?\d{1}|90)$/
下面是完整代码,可验证经纬度的。
<template>
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
<el-row>
<el-col :span="12">
// 验证器,prop=" "这个不能少,否则不验证
<el-form-item label="项目名称" prop="name">
<el-input v-model="form.name" placeholder="请输入项目名称" @change="handleProjectNameChange" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="坐标经度" prop="longitude">
<el-input v-model="form.longitude" placeholder="请输入坐标经度" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="坐标纬度" prop="latitude">
<el-input v-model="form.latitude" placeholder="请输入坐标纬度" />
</el-form-item>
</el-col>
</el-row>
</el-form>
</template>
<script>
export default {
name: 'ProjectInfo',
data() {
const validateLongitude = (rule, value, callback) => {
//经度,整数部分为0-180小数部分为0到15位
var longreg = /^(\-|\+)?(((\d|[1-9]\d|1[0-7]\d|0{1,3})\.\d{0,15})|(\d|[1-9]\d|1[0-7]\d|0{1,3})|180\.0{0,15}|180)$/
if (!longreg.test(value)) {
callback(new Error('经度整数部分为0-180,小数部分为0到15位!'))
}
callback()
}
const validateLatitude = (rule, value, callback) => {
//纬度,整数部分为0-90小数部分为0到15位
var latreg = /^(\-|\+)?([0-8]?\d{1}\.\d{0,15}|90\.0{0,15}|[0-8]?\d{1}|90)$/
if (!latreg.test(value)) {
callback(new Error('纬度整数部分为0-90,小数部分为0到15位!'))
}
callback()
}
return {
// 表单参数
form: {},
rules: {
name: [{ required: true, message: '项目名称不能为空' }],
longitude: [
{ validator: validateLongitude, trigger: 'blur' },
{ validator: validateLongitude, trigger: 'change' }
],
latitude: [
{ validator: validateLatitude, trigger: 'blur' },
{ validator: validateLatitude, trigger: 'change' }
]
}
}
}
}
</script>
以上是全部代码,希望能帮助到你。不懂的可以留言问我,看到就会回复。