$ চিহ্ন দিয়ে মুদ্রা প্রদর্শনের জন্য ASP.NET পাঠ্যবক্স চাপুন

শুধুমাত্র একটি মুদ্রা মান গ্রহণ করার জন্য একটি ASP.NET পাঠ্যবক্স পেতে একটি উপায় আছে, এবং নিয়ন্ত্রণ বৈধ করা হলে, আগে একটি $ চিহ্ন সন্নিবেশ?

উদাহরণ:

10.23 $ 10.23

$ 1.45 $ 1.45 এ থাকে -
10. একটি বৈধ সংখ্যা না থাকার কারণে ত্রুটি উত্থাপন

আমার একটি রেগুলার এক্স্প্রেসনভাইটিনেট আছে যা যাচাই করা হয় যে নম্বরটি বৈধ, কিন্তু আমি জানিনা কিভাবে $ চিহ্নটি পাঠ্যে সীমাবদ্ধ করা উচিত। আমি সন্দেহ জাভাস্ক্রিপ্ট কাজ করতে পারে, কিন্তু এই কি করার অন্য উপায় ছিল ভাবছি।

3
আমি কিছু জাভাস্ক্রিপ্ট figuring আউট শেষ পর্যন্ত আমি কি চেয়েছিলেন। একটি স্থাপনার প্যাকেজ সহজতর করা প্রয়োজন এবং AJAX টুলকিট শুধু অন্য নির্ভরতা ছিল।
যোগ লেখক Jason Z, উৎস

5 উত্তর

ASP.NET মাস্কডেড সম্পাদনা AJAX কন্ট্রোল টুলকিট আপনি যা অনুরোধ করছেন সেটি সম্পন্ন করতে পারেন।

9
যোগ
মাস্কডেডড লিংক ভাঙ্গা হয়েছে
যোগ লেখক Neil Knight, উৎস
কি ভোট নিচে?
যোগ লেখক Neil Knight, উৎস
@ নাইলকাতায় - প্রায় 5 বছরের পুরোনো লিংকের জন্য একটি ডাউনওয়ট? এটা কি কঠোর, তুমি কি ভাবছো না? লিঙ্কটি এখন নিখরচায় আছে, কিন্তু আপনি (যে কেউ 3 বছরেরও বেশি সময় ধরে কমিউনিটিতে রয়েছেন) একটি ভাঙা লিংক ঠিক করতে সাহায্য করেছে।
যোগ লেখক Forgotten Semicolon, উৎস

আমি জানি একটি উত্তর ইতিমধ্যে গৃহীত হয়েছে, কিন্তু আমি একই সমস্যার সাথে অন্য কাউকে সমাধান করার জন্য এবং একাধিক কার্য সমাধান খুঁজতে চেয়েছিলাম।

আমি যেভাবে এটি করি তা হল ব্যবহারকারীর ইনপুট বাঁধার জন্য jQuery ফরম্যাট মুদ্রণ প্লাগইন ব্যবহার করা। ক্লায়েন্ট সাইড। সার্ভারের দিকে এই ইনপুট পার্সিং শুধুমাত্র প্রয়োজন:

// directive
using System.Globalization;

// code
decimal input = -1;
if (decimal.TryParse(txtUserInput.Text, NumberStyles.Currency, 
    CultureInfo.InvariantCulture, out input))
{
    parameter = input.ToString();
}

এই একমাত্র পতন হল যে ব্যবহারকারীর জাভাস্ক্রিপ্ট বন্ধ করা যেতে পারে, সেই ক্ষেত্রে রেজিেক্স বৈধকরণকারী সার্ভার-সার্ভারটি একটি পতনের পেছনে কাজ করবে। যদি কন্ট্রোলটি ডেটাবেট থাকে তবে আপনাকে অবশ্যই দশমিক ভ্যালু.ToString ("{0: c}") , যথাযথ মুদ্রা বিন্যাস প্রদর্শন করার জন্য অন্যদের দ্বারা উল্লিখিত হিসাবে।

এই সম্পর্কে শীতল জিনিসটি যদি ব্যবহারকারী টেক্সট বক্সে প্রবেশ করে এবং ক্লায়েন্টের দিকে $ 0.00 দেখায়, সার্ভার-পার্শ্ব যদি বিবৃতি মিথ্যা ফেরত দেয় তবে যদি আপনার দশমিক মান ডাটাবেসের মধ্যে নাযিল হয় না তবে শুধু দশমিক ইনপুট = -1 এবং দশমিক ইনপুট = 0 পরিবর্তন করুন এবং আপনার কাছে 0 এর একটি ডিফল্ট মান থাকবে।

5
যোগ
ঠিক! এটা খুব দরকারী।
যোগ লেখক Jim Schubert, উৎস

এটি করতে আরেকটি উপায় টেক্সট বক্সের বাইরের বাইরের ডলার চিহ্ন রাখতে হতে পারে। বাক্সের ভিতর ডলারের চিহ্ন থাকা প্রয়োজন বা একটি সাধারণ লেবেল কি আছে?

4
যোগ
এটা কোন প্রকৃত প্রয়োজন নেই, আমি unfortenately বিক্রয় এবং বিপণন প্রয়োজনীয়তা যাও বাঁধা করছি। আমি এটি বিরুদ্ধে বাদানুবাদ চেষ্টা, কিন্তু overruled ছিল।
যোগ লেখক Jason Z, উৎস
বাক্সটি বাইরে চিন্তা করে এমন একটি চমৎকার সমাধান! আমি প্রতিহত করতে পারিনি ...
যোগ লেখক Brian Hinchey, উৎস
decimal sValue = decimal.Parse(txtboxValue.Text.Trim());
// Put Code to check whether the $ sign already exist or not.
//Try making a function returning boolean
//if Dollar sign not available do this
{ string LableText = string.Format("{0:c}", sValue); }
else
{ string LableText = Convert.ToString(sValue); }
2
যোগ
string.Format ("{0: c}", sValue) একটি চমৎকার সমাধান যখন আপনি কখনও কখনও একটি লেবেলে মান স্থাপন করতে এবং অন্য সময়ে একটি টেক্সটবক্সের প্রয়োজন।
যোগ লেখক Tony L., উৎস

সি এস এ আপনি লাইন বরাবর একটি প্যাটার্ন ম্যাচ করতে পারে,

string value = text_box_to_validate.Text;

string myPattern = @"^\$(\d{1,3},?(\d{3},?)*\d{3}(\.\d{0,2})|\d{1,3}(\.\d{2})|\.\d{2})$";
Regex r = new Regex(myPattern);
Match m = r.Match(value);

if (m.Success)
{
    //do something -- everything passed
}
else
{
    //did not match
    //could check if number is good, but is just missing $ in front
}
0
যোগ
ইতিমধ্যেই যে regex চলমান আমি চাইলে $ চিহ্নটি পাঠ্যবক্সের মানের মধ্যে সন্নিবেশ করানো হবে, পরে মূল্য প্রবেশ করা হবে, বিশেষত একটি পোস্টব্যাক ছাড়াই।
যোগ লেখক Jason Z, উৎস