如何使用 JavaScript 来限制最小值/最大值之间的数字?

2023-12-20

我想限制两个值之间的数字,我知道在 PHP 中你可以这样做:

$number = min(max(intval($number), 1), 20);
// this will make $number 1 if it's lower than 1, and 20 if it's higher than 20

我怎样才能在javascript中做到这一点,而不必编写多个if声明之类的东西?谢谢。


像这样

var number = Math.min(Math.max(parseInt(number), 1), 20);

#现场演示:

function limitNumberWithinRange(num, min, max){
  const MIN = min ?? 1;
  const MAX = max ?? 20;
  const parsed = parseInt(num)
  return Math.min(Math.max(parsed, MIN), MAX)
}

alert(
  limitNumberWithinRange(  prompt("enter a number")   )
)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 JavaScript 来限制最小值/最大值之间的数字? 的相关文章

  • 如何检测 React 组件与 React 元素?

    React isValidElement对于 React 组件和 React 元素都测试为 true 具体来说 我如何测试一个对象是一个 React 组件 目前 我正在通过测试来做到这一点typeof obj type function 但
  • 在 `data:` URI 中转义 SVG 的正确方法?

    Chrome 最近已启动使用换行符阻止 URL 和 lt 人物 https www chromestatus com features 5735596811091968 我维护的应用程序严重依赖数据 URI 中的 SVG 图像 data i
  • 在 HTML TextArea 中设置(或读取)光标/插入符的值

    我正在尝试 但失败了 在 HTML 文本区域中实现拖放机制 使用 jQuery 或 Scriptaculous 我们都使用 拖放机制相对容易 因此我愿意接受使用这两者之一的答案 问题是 我似乎找不到读取或设置插入点的方法 我最终想要做的是确
  • 如何在本机反应中发出触摸事件

    我正在尝试启用 panResponder 以拖放模式在屏幕上移动组件 然而 这种拖放必须通过longPress在这样的元素上 longPress捕获事件 所以当panResponder已启用onStartShouldSetPanRespon
  • 如何使用 jQuery 将各种元素包装在 div 标签中?

    我有一个 html 结构 如下所示 h5 Title h5 p Content p ul li Item li li Item li ul p Content p h5 Title h5 p Content p ul li Item li
  • 使用时间序列数据和scaleBand指定D3条形图上的刻度

    我尝试为具有时间序列数据的 d3 v4 条形图指定多个刻度和多个刻度标签 如下图所示 基于本教程 https bl ocks org zigahertz 1ee4965ff76514517bb7ce6af21e5d44我有一个处理时间序列数
  • 如何使单词中的每个字母在悬停时发生变化

    假设我的网站上某个段落中有一个单词 IamGreat 我希望它在悬停时更改为 Good4you 但是 我不想更改整个单词 而是希望每个字母单独更改 因此 如果我将鼠标悬停在字母 I 上 它将变成字母 G 字母 r 将变成数字 4 等 这两个
  • Apache 服务器上的服务器端 Javascript

    我们打算使用Apache https httpd apache org 用于 Web 开发的服务器 对于服务器端脚本 我们希望使用服务器端 javascript 要使服务器端 javascript 在 Apache 服务器上工作需要什么 S
  • javascript获取网页中选定文本的段落

    突出显示文本后 我想获取所选文本所在的段落 var select window content document getSelection 请问有什么指点吗 这实际上很难做到 因为你必须考虑六种情况 所选内容不在一个段落内 简单 整个选择都
  • 有没有一种方法可以使页面布局在 100% 缩放下完美契合,同时又尊重更大的缩放系数?

    有多种方法可以布局网页 使其适合浏览器视口 DOMwindow 当我说 适合 时 我包括更改所用字体的大小 更改 DIV IMG 和其他渲染元素的宽度和高度 以及允许元素 流畅 移动 目标是使页面在所有显示设备 从小型手机到大桌面屏幕 上看
  • jQuery 选择器在控制台中不起作用

    我一辈子都无法解决这个问题 我正在运行 js 容器状态 是页面上正在运行的 js 的控制台日志 它显示一个选择器 但如果我想在控制台中执行任何操作 它只会返回 null 我假设我在某个地方过度编写了 jQuery 函数 就好像我调用了 jQ
  • 如何使用ckeditore通过ajax发送数据?

    我在 django 中有一个表格 这是 撰写邮件 形式 我将此表单从视图发送到我的模板 然后应用 ckeditor 来更改正文样式 我希望通过 ajax 发布此表单 当使用 ckeditor 时 body 字段的值不会随 request P
  • 将压缩的json数据存储在本地存储中

    我想将 JSON 数据存储在本地存储中 有时存储的数据可能超过 5MB 每个域的浏览器允许的最大阈值 无论如何 我可以压缩或压缩数据并将其存储在本地存储中吗 如果对大数据进行每个 JS 函数的压缩和解压 会增加多少延迟 我正在使用这个 js
  • 如何使网站适应用户的屏幕分辨率?

    我正在使用 1024x768 屏幕分辨率来设计我的网站 当您从屏幕分辨率较小 较大的计算机上的浏览器中查看网站时 网站开始变形 无论用户的屏幕分辨率是什么 如何使网站适应用户的屏幕分辨率 我相信通过 JavaScript 或 CSS 是可能
  • 带有子节点的拖放区域

    我有一个带有多个子节点的拖放区域 主要元素有dropenter and dropleave事件 但是 如果您将文件拖动到主元素内部和子节点上方 则dropleave被触发 如何处理 以便dropleave仅当拖动的元素和鼠标位于主元素之外时
  • 路由和干净路径(无主题标签)在 angularJS 中不起作用

    伙计们 这让我发疯了 我为此奋斗了几个小时 却找不到解决方案 我知道为了从 URL 路径中清除主题标签 我需要使用 locationProvider html5Mode true 但由于某种原因 这对我来说效果不佳 我使用 tomcat 7
  • 使用js获取选择选项的onclick事件

    我有一个非常令人沮丧的问题 我有这个代码 它过滤掉我的结果并将它们输入到选择框中 var syn
  • 如何将字符串转换为 Javascript 中可执行的代码行?

    我有以下代码 console log I am var x console log Alive 现在我只想使用x执行分配给它的代码字符串 例如 我什至可能不知道 x 的值 但只是想执行它 这可能吗 eval https developer
  • 查看元素的所有 dom 事件

    我有一个 jQuery UI 日期选择器 当您单击日期时 它会清除我的 URL 哈希值 并且不会更改文本框中的日期 我假设某个地方还有其他一些 JavaScript 实用程序 它也正在调用某种委托事件 抛出错误并终止 jquery 处理程序
  • 在 Javascript 中动态创建 []array

    也许这将是一个真正愚蠢的问题 但我是 JavaScript 新手 并且坚持动态创建数组 如下格式 items Date 2012 01 21T23 45 10 280Z Value 7 Date 2012 01 26T23 45 10 28

随机推荐

  • CreateIoCompletionPort 中的并发线程数

    On MSDN 页面CreateIoCompletionPort http msdn microsoft com en us library aa363862 28v VS 85 29 aspx该函数的最后一个参数有一个非常简短的描述 并发
  • 在 ngFor 中声明变量

    在我的 angular2 项目中 我需要呈现一个矩阵 这是我当前的代码 tr td class worker lastName br worker firstName td td class sk table sub header div
  • redshift Convert_timezone 不起作用

    使用 Razor SQL 运行 Redshift 查询时 UTC 日期似乎被视为本地时区 并包含夏令时 例如 运行 SELECT first CONVERT TIMEZONE UTC America New York 2016 03 27
  • 方法“ToString”没有重载需要 1 个参数

    我有一个数据读取器来从数据库读取数据 我正在从销售表中读取 TotalPrice 我想将总价显示为小数点后两位 该代码是一些链接 TotalPrice Text myReader TotalPrice ToString N2 但是我遇到了这
  • Android JSONArray 循环

    这是我从网络服务得到的结果 year 2014 2013 2012 2011 2010 2009 2008 2007 2006 2005 2004 2003 2002 2001 2000 1999 1998 1997 1996 1995 1
  • 并行 make:将 -j8 设置为默认选项

    我可以使用以下命令设置构建过程的线程数 j争论 比如我有4核 4虚拟 当我写的时候 make j8速度增加4倍 是否可以将该值设置为默认值 例如 在Linux Gentoo中 在配置文件中 可以设置这个默认值 附注我有 Arch Linux
  • Windows 10 高分辨率屏幕上的 Spyder 界面图标非常小

    我有一台全新的笔记本电脑 分辨率为 3840 x 2160 运行 Windows 10 在安装 Anaconda Spyder 进行 python 编码后 我注意到图标非常小 对象检查器部分的文本也非常小 有没有办法来解决这个问题 这似乎与
  • 如何在 ANSI C 的结构中使用枚举?

    下面的代码必须在主函数中使用 但我不知道它是如何使用的 struct SomeItem enum MOVIE MUSIC itemType union struct Movie movie struct Music music 该结构用于带
  • Highchart js 最多可绘制 15 个图

    我在 Highchart js 中进行了很多尝试 但仍然找不到减少系列中元素数量的方法 如果我获得超过 15 天的数据 我必须将其减少并以 15 天的数据形式向用户显示 以便用户可以在不拥挤的情况下查看数据 该系列最多有 90 天 我必须减
  • IntelliJ IDEA 仅运行/调试一个文件

    我在 IntelliJ IDEA 中有一个 JAVA 项目 有多个包 但我的包中的某些文件有自己的main 方法并且可以自己运行 但是 如果我右键单击给定文件并选择 调试 运行 File main IntelliJ 将尝试构建包中的所有文件
  • ASP.NET MVC 3 中是否可以有多个依赖解析器?

    ASP NET MVC 3 中是否可以有多个依赖解析器 类似于 ModelBinder 和 Provider 的情况 我可以想到一种场景 拥有多个 容器 或 解析器 是有用的 那就是多租户 通过多租户 您可以在同一个 Web 应用程序中运行
  • 禁用 g++ 的返回值优化

    我需要在命令行上使用什么标志来禁用 g 编译器自动启用的返回值优化 fno elide constructors C 标准允许实现省略创建临时对象 该临时对象仅用于初始化相同类型的另一个对象 指定此选项会禁用该优化 并强制 G 在所有情况下
  • Android:调整位图大小而不损失质量

    在发布之前我确实搜索了整个网络 我的问题是 我无法在不损失图像质量的情况下调整位图大小 质量非常差并且像素化 我从相机获取位图 然后必须缩小它的尺寸 这样我就可以更快地将其上传到服务器 这是进行采样的函数 public Bitmap res
  • 继承自 HtmlHelper 而不是扩展它

    我正在创建一组用于渲染兼容的助手推特引导程序 http twitter github com bootstraphtml 在我看来 当谈到如何将这些方法组合在一起时 我有两种选择 扩展 HtmlHelper 在方法中添加 TB 前缀 创建一
  • Python正则表达式匹配<之前的单词

    所以我想匹配这样的东西 foo
  • 当前日期与日期字段之间的天数

    我有这个问题如果有人可以帮忙的话 有一个字段 date 在我的桌子上 table1 这是格式为的日期3 31 1988 M D y 我需要定义自该日期以来已经过去了多少天 我试图给出这个指示 SELECT DATEDIFF CURDATE
  • Angularjs,对表中选定的复选框应用操作

    我正在尝试学习 AngularJS 并实现此复选框 当我从网格中选择一些复选框并单击 删除 按钮时 应从选定的复选框中删除表中的数据 我尝试过但不知道如何实现它 请参阅我在 Plunker 上的这段代码 http plnkr co edit
  • 为什么 SELECT FOR UPDATE 只能在事务中起作用?

    我想我很困惑选择更新 https dev mysql com doc refman 5 0 en innodb locking reads html构造 例子 mysql gt select from employees2 EmpId Em
  • msm 包中出现错误:*** 捕获段错误 *** “内存未映射”

    我正在尝试使用 msm 包运行多状态模型 但遇到以下错误 caught segfault address 0x607c00032c60 cause memory not mapped The data dat long lt structu
  • 如何使用 JavaScript 来限制最小值/最大值之间的数字?

    我想限制两个值之间的数字 我知道在 PHP 中你可以这样做 number min max intval number 1 20 this will make number 1 if it s lower than 1 and 20 if i