jiuyublue 2022-09-29 18:09 采纳率: 100%
浏览 31
已结题

vue项目中获取文本内容里的温度数值

问题遇到的现象和发生背景

根据用户输入的信息内容获取温度数值进行判断。如信息为:预计今天6:30-9:00,贵阳市城区有阵雨,气温26-28℃,雨天出行请减速慢行,注意安全。
判断用户输入的温度情况:第一个温度小于第二个温度,并且最低温度不能低于-10℃,最高温度不能高于42℃。
不能判断气温-5--2℃ 以及-2-9℃的这种情况
我目前只实现了零上温度判断(当温度只有一个时)

用代码块功能插入代码,请勿粘贴截图

watch:{
'temp.content':{
handler(newV, oldV) {//适合出现单个℃
const reg = /-?(\d+)?-?(\d+)℃/
if(reg.test(newV)){
let item = newV.match(/-?(\d+)?-?(\d+)℃/)
let preTemp = item[1]
let nextTemp = item[2]
console.log(item,preTemp,nextTemp,reg.test(newV))
if(Number(preTemp) > Number(nextTemp) ) {
this.$message({
message: "前面温度不能大于后面温度!",
type: "error",
});
}
// 判断范围--2℃~40℃ 如果为-5℃ 只获取到5

      if( (Number(nextTemp) < -2 ||  Number(nextTemp) > 41 ) || (Number(preTemp) < -2 ||  Number(preTemp) > 41 )) {
        this.$message({
          message: "输入的最低温度不能小于-2℃,最高不能大于40℃",
          type: "error",
        });
      }
  }
  },
  // immediate: true,
  deep: true
}

}

运行结果及报错内容

(3) ['26-28℃', '26', '28', index: 25, input: '预计今天6:30-9:00,贵阳市城区有阵雨,气温26-28℃,雨天出行请减速慢行,注意安全。', groups: undefined]
0: "26-28℃"
1: "26"
2: "28"
groups: undefined
index: 25
input: "预计今天6:30-9:00,贵阳市城区有阵雨,气温26-28℃,雨天出行请减速慢行,注意安全。"
length: 3
[[Prototype]]: Array(0)

当气温为-5--2时
0: "--2℃"
1: undefined
2: "2"
以上的问题无法实现 ;
如果输入内容为 贵阳市最高气温16-21℃,最低气温12-15℃ 时 只判断第一个 无法判断第二个

我想要达到的结果

想要实现 能够获取输入零下,含多个℃时的判断

  • 写回答

1条回答 默认 最新

  • MAXLZ 2022-09-29 18:38
    关注
    function compareTemperatures(low, high) {
      if (low > high) {
        throw new Error(`${low}℃不能高于${high}℃`)
      } else if (low < -10){
        throw new Error(`最低气温不能低于-10℃`)
      } else if (high > 42) {
        throw new Error(`最高气温不能高于-42℃`)
      }
    }
    
    function formatTemperature(str) {
      const match = str.match(/(-?\d+.?\d+)-(-?\d+.?\d+)℃/g)
      match.forEach(item => {
        const [ ,low, high ] = item.match(/(-?\d+.?\d+)-(-?\d+.?\d+)℃/)
        compareTemperatures(low * 1, high * 1)
      })
    }
    const t = '贵阳市最高气温2-21℃,最低气温22-15℃ 时 只判断第一个 无法判断第二个'
    
    console.log(formatTemperature(t))
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 10月8日
  • 已采纳回答 9月30日
  • 创建了问题 9月29日

悬赏问题

  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效