Quellcode durchsuchen

Merge branch 'feature_20250926_数字题型&单行文本题型'

sunny vor 1 Monat
Ursprung
Commit
f01dade347
1 geänderte Dateien mit 17 neuen und 6 gelöschten Zeilen
  1. 17 6
      src/views/deviceWithin/addStoreVisit.vue

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

@@ -4386,12 +4386,23 @@ 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(/^-/, 'NEGATIVE_MARKER')  // 先标记开头的负号
+                .replace(/-/g, '')                 // 移除所有负号
+                .replace(/NEGATIVE_MARKER/, '-')   // 恢复开头的负号
+                .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) {
         // 最大值