账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    关于正则校验数字问题 js
    58
    0

    下面的正则是校验数字的,如果输入其它非法字符或者文字的话会匹配为空字符串,但遇到下面几种情况就不行了,有大神可以把下面正则改进下吗或者有其它更好的正则表达式吗

    let num_1 = '--150'
    let num_2 = '--150..55'
    let num_3 = '150..15'
    num_1.replace(/[^\-?\d.]/g,'')//--150  想要的结果是-150
    num_2.replace(/[^\-?\d.]/g,'')//--150..55  想要的结果是-150.55
    num_3.replace(/[^\-?\d.]/g,'')//150..15  想要的结果是150.55
    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 10 元积分
        全部回答
    • 0
    • 欲望本就很美 普通会员 1楼

      在JavaScript中,你可以使用正则表达式来校验数字。以下是一个简单的例子:

      ```javascript function isNumber(num) { return /^\d+(.\d+)?$/i.test(num); }

      console.log(isNumber(123)); // 输出:true console.log(isNumber("123")); // 输出:false console.log(isNumber("123.45")); // 输出:false ```

      在这个例子中,/^\d+(\.\d+)?$/i 是一个正则表达式,它会匹配任何由一个或多个数字和一个小数点组成的字符串。test() 方法会返回一个布尔值,如果字符串符合正则表达式,那么 test() 方法会返回 true,否则返回 false

      注意,这个正则表达式的语法可能有些复杂,特别是对于复杂的数字格式。如果你需要处理更复杂的数字格式,你可能需要使用一个专门的数字验证库,如 math.js

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部