संख्याओं और दशमलव बिंदु को छोड़कर सब कुछ बदलने के लिए Rexx


113

मेरे पास एक पाठ क्षेत्र है जिसमें केवल पाठ या दशमलव रहने की आवश्यकता है। यहां वह कोड है जो मैं वर्तमान में संख्याओं और एक दशमलव बिंदु को छोड़कर सब कुछ बदलने के लिए उपयोग कर रहा हूं। मुद्दा यह है, मैं एक regex का पता नहीं लगा सकता हूं जो बाकी सब चीजों की पहचान करेगा

document.getElementById(target).value = newVal.replace(/\D[^\.]/g, "");

The \ D ठीक काम करता है, लेकिन मैंने कोशिश की है (?!.), (?!\.), [^.], [^\.]और इसी तरह ...

एक नियमित अभिव्यक्ति के लिए कोई सुझाव जो किसी संख्या या दशमलव को छोड़कर किसी चीज के साथ सकारात्मक रूप से पहचान करता है?

सहायता के लिए धन्यवाद


यदि आप संख्यात्मक अंकों के बजाय वास्तविक संख्याओं की जांच करना चाहते हैं: stackoverflow.com/questions/42328875/…
cregox

जवाबों:


239

इसे इस्तेमाल करो:

document.getElementById(target).value = newVal.replace(/[^0-9.]/g, "");

1
@ यह कुछ भी करने की अनुमति नहीं देता है, आपको बस एक स्ट्रिंग पास नहीं करनी चाहिए जिसमें संभवतः अधिक दशमलव बिंदु हो सकते हैं और पहले इसे पूर्व-प्रक्रिया करते हैं। यह कहने की तरह है कि स्ट्रिंग हर चरित्र की अनुमति देता है ...
jave.web

3
फिर parseFloat के माध्यम से दिए गए मान को चलाएं। वह अतिरिक्त दशमलव अंक निकाल देगा। जैसेparseFloat("46554.4655465.54654.545345.5") = 46554.4655465
साइमन 3

1
यह पहले से ही फॉर्मेट किए गए नंबरों को पैसे की तरह एक कम्प्यूटेबल फ्लोट में परिवर्तित करने के लिए बहुत अच्छा है।
lu1s

8

केवल दशमलव भाग निकालना इस प्रकार किया जा सकता है:

number.replace(/(\.\d+)+/,'');

यह 13.6667px को 13px में बदल देगा (इकाइयों को छोडकर अछूता रह जाएगा)।


7

इसे इस्तेमाल करे:

document.getElementById(target).value = newVal.replace(/^\d+(\.\d{0,2})?$/, "");


2
सबसे बढ़िया उत्तर। 0.000 10.000000 .22 2.234 निकालता है, लेकिन 1, 10, 10.1, 10.22
रॉबर्ट बेकर

यह अभिव्यक्ति जटिल लग रही है, क्या आप बता सकते हैं कि यह कैसे काम करता है या वास्तव में इसे कैसे हटाएगा?
मिन्डॉव जूल 3'16

यह "5.12 руб" जैसे सिरिलिक इनपुट के साथ काम नहीं करता है।
मिंदरोव

4
"11111" .replace (/ ^ \ d + (\। \ D {0,2}); $ /, "") - खाली स्ट्रिंग परिणाम
yAnTar

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.