2011-05-27 10 views
6

मेरे पास एक टेक्स्टबॉक्स है जिसमें मैं क्रेडिट कार्ड या बैंकिंग जानकारी दिखा रहा हूं। मैं इसे मास्क किया जाना चाहता हूं (पेज_लोड इवेंट के पीछे कोड में) ताकि उपयोगकर्ता ऐसा कुछ देख सके: xxxxxxxxxxxx-9999।टेक्स्टबॉक्स में केवल अंतिम 4 अंक दिखा रहे हैं

उदाहरण के लिए: स्ट्रिंग क्रेडिट कार्ड = 1234567812345678

मैं इस तरह दिखाना चाहते हैं: xxxxxxxxxxxx5678

धन्यवाद!

उत्तर

9

कुछ इस तरह चर लंबाई पाठ के लिए काम कर सकते हैं:

// create 4 less x's than the credit card length. 
// then append that to the last 4 characters of the credit card 
new string('x', creditcard.Length - 4) + creditcard.Substring(creditcard.Length - 4); 
9
"xxxxxxxxxxxx" + creditcard.Remove(0,12) 

चूंकि आईएसओ/आईईसी 7812 क्रेडिट कार्ड नंबरों में 16 अंक हैं।

यदि क्रेडिट कार्ड आईएसओ/आईईसी नहीं है और इसकी एक और लंबाई है तो कृपया ग्रेग के उत्तर का उपयोग करें। 15 अंकों के साथ AMEX और डिनर के 14. के साथ की तरह (मैं यूरोप AmEx में के रूप में इस का भी ध्यान रखें कि आम नहीं था नहीं है।)

+0

मैं महसूस नहीं किया कि वे निश्चित लंबाई तय कर रहे थे। यह मेरी तुलना में बहुत आसान है। :) – Greg

+0

एमेक्स 16 वर्ण नहीं है। तो @ ग्रेग का समाधान शायद एक बेहतर फिट है। –

+0

क्या होगा यदि वे परिवर्तनीय लंबाई हैं? –

संबंधित मुद्दे