Browse Source

feature_20250926_数字题型&单行文本题型

sunny 1 month ago
parent
commit
70b197933d
1 changed files with 14 additions and 6 deletions
  1. 14 6
      src/views/deviceWithin/addStoreVisit.vue

+ 14 - 6
src/views/deviceWithin/addStoreVisit.vue

@@ -4381,12 +4381,20 @@ export default {
         answerValue = item.collectionOptionList[0].answerValue;
         itemData = item.collectionOptionList[0];
       }
-      let value = answerValue
-        ? answerValue.replace(
-            /[^-\d.]|(?<!\d)\.|\.(?!\d)|^[.]$|^[+-]$|^[+-]\.$|(?<=\.\d*)\.|(?<=\d\.\d*)\.(?=\d)/g,
-            ''
-          )
-        : '';
+      let value = answerValue 
+          ? answerValue.replace(/[^\d.-]/g, '') // 移除所有非法字符
+                 .replace(/^\./, '') // 移除开头的小数点
+                .replace(/\.$/, '') // 移除结尾的小数点(如果需要)
+                .replace(/(?<=.)-/g, '') // 移除除了开头位置外的所有负号
+                .replace(/\.+/g, '.') // 多个小数点合并为一个
+                .replace(/(\..*)\./g, '$1') // 只保留第一个小数点
+          : '';
+      // let value = answerValue
+      //   ? answerValue.replace(
+      //       /[^-\d.]|(?<!\d)\.|\.(?!\d)|^[.]$|^[+-]$|^[+-]\.$|(?<=\.\d*)\.|(?<=\d\.\d*)\.(?=\d)/g,
+      //       ''
+      //     )
+      //   : '';
       this.$set(itemData, 'answerValue', value);
       if (value) {
         // 最大值