সংখ্যা এবং দশমিক বিন্দু ব্যতীত সমস্ত কিছু প্রতিস্থাপনের জন্য রেজেক্স


113

আমার কাছে একটি পাঠ্য ক্ষেত্র রয়েছে যা কেবলমাত্র পাঠ্য বা দশমিক। এখানে কোড এবং আমি বর্তমানে দশমিক বিন্দু ব্যতীত সমস্ত কিছু প্রতিস্থাপন করতে ব্যবহার করছি। ইস্যুটি হ'ল, আমি এমন একটি রেজেক্স বের করতে পারি না যা সমস্ত কিছু সনাক্ত করতে পারে

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

\ ডি ঠিকঠাক কাজ করে, তবে আমি আরও চেষ্টা করেছি (?!.), (?!\.), [^.], [^\.]...

একটি নিয়মিত প্রকাশের জন্য কোনও পরামর্শ যা একটি সংখ্যা বা দশমিক ব্যতীত কোনও কিছুর সাথে ইতিবাচকভাবে চিহ্নিত করে?

সাহায্যের জন্য ধন্যবাদ


: যদি আপনি বদলে প্রকৃত সংখ্যা সাংখ্যিক ডিজিটের জন্য চেক করতে খুঁজছেন stackoverflow.com/questions/42328875/...
cregox

উত্তর:


239

এটা ব্যবহার কর:

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

1
@ হুগো এটি কোনও কিছুর অনুমতি দেয় না, আপনি কেবল এমন স্ট্রিং পাস করবেন না যাতে সম্ভবত আরও দশমিক পয়েন্ট থাকতে পারে এবং এটি আগে প্রাক-প্রক্রিয়া করে। এটা বলার মতো স্ট্রিং প্রতিটি চরিত্রকে ...
jave.web

3
তারপরে পার্সফ্লোয়েটের মাধ্যমে ফিরে আসা মানটি চালান। এটি অতিরিক্ত দশমিক পয়েন্টগুলি সরিয়ে ফেলবে। যেমনparseFloat("46554.4655465.54654.545345.5") = 46554.4655465
সাইমন

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 রাখে
রবার্ট বেকার

এই অভিব্যক্তিটি জটিল দেখাচ্ছে, আপনি কীভাবে এটি কাজ করতে পারেন বা ঠিক কীটি মুছে দেবে তা ব্যাখ্যা করতে পারেন?
মিন্ডরভ

এটি "5.12 руб" এর মতো সিরিলিক ইনপুট নিয়ে কাজ করে না руб
মিন্ডরভ

4
"11111" .পরিবর্তন (/ ^ \ d + (\। \ D {0,2})? $ /, "") - ফলাফল খালি স্ট্রিং
yAnTar

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.