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

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条回答 默认 最新

    报告相同问题?

    相关推荐 更多相似问题

    问题事件

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

    悬赏问题

    • ¥15 IP地址聚合什么情况才能同时聚合,什么情况又是先集合两个再加上最后一个
    • ¥15 mysql 选择求解答
    • ¥15 数据挖掘 决策树,文件报错
    • ¥15 编写生产者和消费者程序
    • ¥15 CSDN是个怎么样的平台
    • ¥15 java识别字符串内容并运算(输入为一行字符串,输出为整数)
    • ¥15 eclipse Java项目问题
    • ¥20 用记事本写一个login.jsp ,用以实现登陆界面,并通过post方式向Servlet传送页面数据
    • ¥15 关于链表的问题(为什么要在del函数结束后再创一个变量y)
    • ¥15 井字棋游戏-玩家与电脑