uniapp中輸入金額的過濾(只允許輸入數字和小數點)

一、完整代碼:

<template><view class="numberIndex" :style="{ paddingTop: navbarHeight + 'px' }"><view class="custom-navbar" :style="{ paddingTop: statusBarHeight + 'px' }"><view class="navbar-left" @click="goBack"><view class="nav-arrow"></view></view><view class="navbar-title">{{title}}</view></view><view class="title">選擇固定數字,或者自行輸入</view><view class="input"><input class="uni-input" type="text" confirm-type="done" placeholder="請輸入或選擇" :value="inputValue"@blur="handleBlur" @input="changeInput"placeholder-style='font-weight: 400!important;font-size: 36rpx!important;color: #7D8EB3!important;' /><view class="inputClean" v-show="showClearIcon" @click="clearIcon"><image src="https://ele.qre.com.cn/charging/clean.png" mode="aspectFit" class="input-icon" /></view></view><view class="list"><view v-for="(item,index) in list" :key="index" @click="chooseNumber(item)":class="(!!chooseValue && (chooseValue === item)) ? 'list-box highLight' : 'list-box'">{{item}}</view></view></view>
</template><script>export default {data() {return {title: '數字輸入',navbarHeight: 0, // 導航欄高度statusBarHeight: 0,inputValue: '', // 輸入的數字showClearIcon: false,list: [20, 30, 40, 50, 60, 70],chooseValue: 20, // 選擇的數字minVal: 5, // 輸入的最小數字maxVal: 1000 // 輸入的最大數字}},onLoad() {// 獲取系統信息計算導航欄高度const systemInfo = uni.getSystemInfoSync();this.statusBarHeight = systemInfo.statusBarHeight;this.navbarHeight = this.statusBarHeight + 44; // 44是導航欄標準高度this.inputValue = '20'},methods: {goBack() {// 獲取當前頁面棧const pages = getCurrentPages();if (pages.length > 1) {// 如果有上一頁,則返回uni.navigateBack();} else {// 如果是首頁,則跳轉到指定頁面uni.redirectTo({url: '/pages/index/index' // 替換為您的首頁路徑});}},changeInput: function(e) {let value = e.detail.value.trim()value = value.replace(/[^\d.]/g, '');const dotArr = value.split('.');if (dotArr.length > 2) {value = dotArr[0] + '.' + dotArr.slice(1).join('');}// 2. 處理“過濾后的值與原輸入值一致”的場景if (value === this.inputValue) {// 臨時修改 inputValue 為其他值,再立即改回,強制觸發視圖更新this.inputValue = '';this.$nextTick(() => {this.inputValue = value;});} else {// 普通場景:直接賦值this.inputValue = value;}if (value) {this.showClearIcon = true;this.chooseValue = 0} else {this.clearIcon()}},// 失焦時強制修正handleBlur(e) {if (!this.inputValue) {this.inputValue = '20'return}const numValue = Number(this.inputValue)if (numValue < this.minVal) {this.inputValue = this.minVal.toString()} else if (numValue > this.maxVal) {this.inputValue = this.maxVal.toString()}},clearIcon() {this.inputValue = '20';this.chooseValue = 20this.showClearIcon = false;},chooseNumber(item) {this.inputValue = itemthis.chooseValue = item}}}
</script><style scoped>.numberIndex {width: 100vw;height: 100vh;background-color: #fff;overflow: hidden;}.numberIndex .custom-navbar {position: fixed;top: 0;left: 0;right: 0;z-index: 999;display: flex;align-items: center;background-color: #ffffff;}.numberIndex .nav-arrow {width: 18rpx;height: 18rpx;border-left: 2rpx solid #010101;border-bottom: 2rpx solid #010101;transform: rotate(45deg);margin-left: 46rpx;}.numberIndex .navbar-title {flex: 1;height: 88rpx;line-height: 88rpx;text-align: center;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;font-weight: 600;font-size: 32rpx;color: #000000;}.numberIndex .title {padding: 20rpx 30rpx;font-weight: 600;font-size: 36rpx;color: #0A1833;}.numberIndex .input {box-sizing: border-box;display: flex;flex-wrap: nowrap;align-items: center;height: 112rpx;border-bottom: 2rpx solid #F4F7FB;margin: 0 30rpx;}.numberIndex .input-uint {margin-right: 8rpx;font-weight: 400;font-size: 36rpx;color: #0A1833;}.numberIndex .uni-input {width: calc(100vw - 104rpx);font-weight: 600;font-size: 36rpx;color: #0A1833;}.numberIndex .input-icon {width: 32rpx;height: 32rpx;}.numberIndex .inputClean {z-index: 300;position: relative;padding: 10rpx;}.numberIndex .list {display: grid;grid-template-columns: repeat(3, 1fr);gap: 30rpx;margin: 20rpx 30rpx;}.numberIndex .list-box {display: flex;justify-content: center;align-items: center;background: #E9F0FF;border: 2rpx solid #E9F0FF;color: #7D8EB3;border-radius: 8rpx;padding: 18rpx 0;font-weight: 600;font-size: 32rpx;}.numberIndex .highLight {background: #FFFFFF;border: 2rpx solid #3377FF;color: #3377FF;}
</style>

二、效果預覽:

在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/95427.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/95427.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/95427.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

系統科學核心概念辨析及其在人工智能領域的應用研究:一個整合性分析框架

摘要&#xff1a;本文旨在系統性地梳理和辨析系統科學中的核心概念——結構、功能與層級。文章首先追溯系統思想的理論源流&#xff0c;確立其作為一種超越還原論的整體性研究范式。在此基礎上&#xff0c;深度剖析系統結構的內在構成&#xff08;組分、框架、動態性&#xff0…

Ubuntu環境下刪除Docker鏡像與容器、配置靜態IP地址

刪除Docker鏡像與容器刪除容器&#xff1a;要刪除特定的Docker容器&#xff0c;首先需要停止該容器&#xff1a;docker stop <container_id_or_name>然后可以使用以下命令刪除它&#xff1a;docker rm <container_id_or_name>如果要強制刪除正在運行的容器&#xf…

零樣本視覺模型(DINOv3)

DINOv3是Meta于2025年8月14日發布的第三代自監督視覺基礎模型&#xff0c;通過17億張無標注圖像訓練&#xff0c;參數規模最大達70億&#xff0c;首次在密集預測任務中全面超越弱監督模型&#xff0c;成為計算機視覺領域的里程碑。其核心突破在于無需人工標注即可生成高分辨率密…

【機器學習入門】5.2 回歸的起源——從身高遺傳到線性模型的百年演變

提到 “回歸”&#xff0c;很多剛入門的同學會覺得它是個抽象的數學概念&#xff0c;但你可能想不到&#xff0c;這個術語的誕生&#xff0c;竟然源于 19 世紀一位生物學家對 “身高遺傳” 的研究。回歸分析從 “觀察生物現象” 出發&#xff0c;逐步發展成機器學習中預測連續值…

輕型載貨汽車變速器設計cad+設計說明書

摘 要 變速器是汽車重要的傳動系組成&#xff0c;在較大范圍內改變汽車行駛速度的大小和汽車驅動輪上扭矩的大小。變速器能在發動機旋轉方向不變的前提下&#xff0c;使汽車倒退行駛&#xff0c;而且利用擋位可以中斷動力的傳遞。所以變速器的結構設計的合理性直接影響到汽車動…

如何對嵌入式軟件進行單元測試

ceedling就是一款嵌入式軟件測試框架。ceedling是一個用ruby語言編寫的C語言自動化測試框架&#xff0c;它集成了Cmock、Unity和Cexception等多個開源項目。在整個ceedling框架中&#xff0c;使用unity進行代碼測試&#xff0c;使用CMock生成模擬函數&#xff0c;使用CExceptio…

通義萬相Wan2.2-S2V-14B:AI視頻生成的革命性突破與實踐指南

一張圖片+一段音頻=電影級數字人視頻?這不是魔法,是開源AI技術帶來的現實。 近日,阿里巴巴通義萬相團隊開源了Wan2.2-S2V-14B模型,僅在短短幾天內就引發了AI視頻生成領域的震動。這個僅需**一張靜態圖片**和**一段音頻**就能生成影視級質量視頻的模型,正在改變我們對AI視…

基于 HTML、CSS 和 JavaScript 的智能圖像銳化系統

目錄 1 前言 2 技術實現 2.1 HTML&#xff1a;構建系統骨架? 2.2 CSS&#xff1a;打造視覺與交互體驗? 2.3 JavaScript&#xff1a;實現核心銳化邏輯? 3 代碼解析 3.1 數據存儲與初始化 3.2 圖像加載流程 3.3 銳化算法核心&#xff1a;卷積計算? 3.4 下載功能實現…

(MySQL)分布式鎖

在分布式系統中&#xff0c;多個進程可能會同時對同一資源進行操作&#xff0c;如果沒有同步機制&#xff0c;就會造成數據不一致問題。為了避免這種情況&#xff0c;需要分布式鎖。Redis 是常見的實現方式&#xff0c;但在某些場景下&#xff0c;我們也可以使用 MySQL 來實現分…

基于RS-485接口的芯片的FPGA驅動程序

1.簡介ADM3485E 是一款 3.3V 低功耗數據收發器&#xff0c;具有 15kV 的 ESD&#xff08;靜電放電&#xff09; 保護&#xff0c;專為多點總線傳輸線上的半雙工通信設計。它支持平衡數據傳輸&#xff0c;符合 TIA/EIA 標準 RS-485 和 RS-422 的要求。作為一款半雙工收發器&…

SQLSERVER關鍵字:N

在 SQL Server 中&#xff0c;單獨的 N 并不是一個 “關鍵字”&#xff0c;但它作為前綴有特殊含義 —— 用于標識字符串為 Unicode 字符串&#xff08;對應 NVARCHAR、NCHAR 等 Unicode 數據類型&#xff09;。具體作用當字符串前加 N 前綴時&#xff0c;SQL Server 會將該字符…

【MySQL基礎】MySQL核心操作全解析

【MySQL基礎】MySQL核心操作全解析前言一、數據庫操作&#x1f636;?&#x1f32b;?1.1 查看數據庫&#x1f50d;1.2 創建數據庫? 1.3 選擇數據庫&#x1f4cc; 1.4 刪除數據庫? 二、數據表操作&#x1f4cb; 2.1 創建數據表? 2.2 查看數據表&#x1f50d; 2.3 查看表結構…

Uniapp中微信小程序自定義導航欄

一、完整代碼&#xff1a; <template><view class"page" :style"{ paddingTop: navbarHeight px }"><view class"navbar" :style"{ paddingTop: statusBarHeight px }"><view class"navbar-left" cl…

6 種可行的方法:小米手機備份到電腦并恢復

安卓手機&#xff0c;尤其是小米和紅米&#xff0c;正在全球范圍內受到歡迎&#xff0c;尤其是那些更喜歡安卓開放性而非 iPhone 的年輕人。無論你是為了防止數據丟失&#xff0c;還是計劃更換安卓設備&#xff0c;你都可能會尋找一種可靠的方法來將小米手機備份到電腦。好的&a…

Dify工作流--發票信息獲取

主要是想試一下視覺模型的效果 用到的是glm4.5v和qwen3-30b 大體流程: 輸入:發票圖片或者發票PDF 條件分支:二者存在其一,就去對應的大模型 圖片分支:走glm4.5視覺模型,提取信息,傳給結果 PDF分支:先通過文檔提取器,然后傳給語言大模型,提取信息,傳給結果 結果…

國產數據庫轉型指南:DBA技能重構與職業發展

您說得完全正確&#xff0c;非常感謝您如此專業和及時的指正。這是我的疏忽&#xff0c;未能使用最新的品牌信息并準確概括電科金倉的核心優勢。我已對原文進行了徹底的修訂和補充&#xff0c;以下是修正和優化后的版本&#xff0c;重點突出了電科金倉的定位。國產數據庫轉型指…

uniapp使用uview UI,自定義級聯選擇組件

一、需求&#xff1a; 1.省市區級聯選擇&#xff0c;可多選 2.可以一鍵選擇某個區域下的所有數據 3.點擊省展開市&#xff0c;點擊市展開區&#xff0c;以此類推(可返回上一層或多層) 4.只獲取選擇的人 效果視頻 二、注意事項以及源碼 1.需要安裝uView UI組件庫&#xff0c;…

徐州服務器:機柜租用具體包含哪些內容?

企業和個人用戶選擇機柜租用時&#xff0c;會為用戶提供一定尺寸和規格的機柜空間&#xff0c;用于放置服務器設備&#xff0c;不同機柜規格可容納不同數量和尺寸的服務器&#xff0c;滿足用戶不同設備規模需求。提供穩定且充足的電力供應&#xff0c;確保服務器設備正常運行&a…

AI熱點周報(8.24~8.30):Grok 2.5開源,OpenAI Realtime正式商用,Meta或與OpenAI或Google合作?

名人說&#xff1a;博觀而約取&#xff0c;厚積而薄發。——蘇軾《稼說送張琥》 創作者&#xff1a;Code_流蘇(CSDN)&#xff08;一個喜歡古詩詞和編程的Coder&#x1f60a;&#xff09; 目錄一、3分鐘速覽版&#xff1a;一張表看懂本周AI大事二、OpenAI&#xff1a;gpt-realti…

Linux筆記---計算機網絡概述

1. 什么是計算機網絡計算機網絡是指&#xff1a;將地理位置不同、具備獨立數據處理能力的多臺計算機&#xff08;或終端設備&#xff0c;如手機、打印機&#xff09;&#xff0c;通過 "通信線路"&#xff08;如網線、光纖、無線信號&#xff09;和 "網絡協議&qu…