以非0开头,个位不是0或5的整数正则该怎么写?

前端之家收集整理的这篇文章主要介绍了以非0开头,个位不是0或5的整数正则该怎么写?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

问题描述

非0开头,个位不是0或5的正则该怎么写?

问题出现的环境背景及自己尝试过哪些方法

前端用的vue,想要学习下正则

相关代码

// 请把代码文本粘贴到下方(请勿用图片代替代码

  1. <html>
  2.  
  3. <head>
  4.     <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
  5. </head>
  6.  
  7. <body>
  8.     <div id="app-6">
  9.         <p>{{ message }}</p>
  10.         <input  v-model="message">
  11.     </div>
  12. </body>
  13.  
  14. <script>
  15.     var app6 = new Vue({
  16.         el: '#app-6',
  17.         data: {
  18.             message: ''
  19.         },
  20.         watch:{
  21.             message: function(val){
  22.                 let reg = /^[1-9]\d*[^0|5]$/;
  23.                 let result1 = reg.test(val);
  24.                 console.log(val);
  25.                 console.log(result1);
  26.             }
  27.         }
  28.     })
  29. </script>
  30.  
  31. </html>

你期待的结果是什么?实际看到的错误信息又是什么?

期待结果:输入第一位不是0(只有一位的时候可以为0),个位不是0或5的整数,控制台打印 true,否则打印 false
比如
01,10,15,02打印false
0,1,2,14,17,22打印true

实际看到的错误
输入1的时候控制台打印了false,输入12的时候控制台打印true
输入15,20,012打印结果与预期一致

解决方法

image.png

  1. [
  2.     '0','5','05','01','11','15','10','121','125','140','040',
  3.     '0','10','15','02',
  4.     '1','2','14','17','22'
  5. ].map(v=>{
  6.     return [v, /(^[1-9][0-9]*[1-46-9]$)|(^[1-46-9]$)/.test(v)]
  7. })

猜你在找的Vue相关文章