首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果字符串包含0或负值,则更改文本。

问如果字符串包含0或负值,则更改文本。
EN

Stack Overflow用户
提问于 2019-08-15 04:31:21
回答 2查看 84关注 0票数 1

我想根据数字更改文本,但是结果总是给我带来错误。

http://jsfiddle.net/2sboq50j/

代码语言:javascript
复制
jQuery( document ).ready(function($) {

var matches = $(".content").text().match(/\d/);

  if (matches){
     $(".result").text('There is a Number!');    
  } else if (matches === 0 || matches <= 0) {
     $(".result").text('Number cannot be negative or 0.');    
  } else {
     $(".result").text('There is no Number!');
  }

});

如果段落中有0或小于0,则应返回数字不能为负数或0。

如果值大于0,则有一个数字!

如果没有数字,就没有数字!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-08-15 04:36:48

问题在于if语句的顺序

尝尝这个

代码语言:javascript
复制
jQuery(document).ready(function($) {

  var matches = parseInt($(".content").text().match(/-?\d+/g));
  if (matches === 0 || matches <= 0) {
    $(".result").text('Number cannot be negative or 0.');
  } else if (matches) {
    $(".result").text('There is a Number!');
  } else {
    $(".result").text('There is no Number!');
  }

});

在您的原始代码中,0被认为是匹配的,所以第一个语句是真的,其余的则被忽略。

至于负数,你需要改变你的正则表达式,允许连字符"-“,因为它们是负数的一部分。

这是一把有用的小提琴

票数 1
EN

Stack Overflow用户

发布于 2019-08-15 04:34:40

代码语言:javascript
复制
jQuery( document ).ready(function($) {

  var matches = $(".content").text().match(/\d/);
  alert("matches -->" + matches);

  if (matches > 0){
     $(".result").text('There is a Number!');    
  } else if (matches == 0 || matches <= 0) {
     $(".result").text('Number cannot be negative or 0.');    
  } else {
     $(".result").text('There is no Number!');
  }

});

你能试试这个吗。

票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57504882

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档