我想根据数字更改文本,但是结果总是给我带来错误。
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,则有一个数字!
如果没有数字,就没有数字!
发布于 2019-08-15 04:36:48
问题在于if语句的顺序
尝尝这个
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被认为是匹配的,所以第一个语句是真的,其余的则被忽略。
至于负数,你需要改变你的正则表达式,允许连字符"-“,因为它们是负数的一部分。
发布于 2019-08-15 04:34:40
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!');
}
});你能试试这个吗。
https://stackoverflow.com/questions/57504882
复制相似问题