मैं किसी भी स्थान पर विशेष चरित्र में प्रवेश करने वाले उपयोगकर्ता को रोकने के लिए एक नियमित एक्सपोजर बनाने की कोशिश कर रहा हूं, लेकिन वह स्टार्टिंग पॉइंट को छोड़कर स्ट्रिंग के अंदर संख्या और अंडरस्कोर को बदल रहा है।
परिदृश्यों
abhi_3123123 valid
abhi___ASDFAS valid
3425_asdfasdf invalid
_asdfasdf invalid
sometext(having any spcl character at any place) invalid
केवल अंडरस्कोर की शुरुआत और अंत में नहीं के बीच में ही अनुमति दी जानी चाहिए
अद्यतन कोड
मैं अपने textbox के textchange घटना पर इस कोड को बुला रहा हूँ
string regEx = @"^[a-zA-Z][a-zA-Z0-9_]*(?<!_)$";
if (System.Text.RegularExpressions.Regex.IsMatch(txtFunctionName.Text, regEx))
{
//no error
}
else
{
// show error
}
यह कोड त्रुटि दिखा रहा है
उत्तर:
उत्तर № 1 के लिए 1मान लें कि आप केवल ASCII अक्षर, अंक और अंडरस्कोर की अनुमति देना चाहते हैं, उपयोग करें
^[a-zA-Z]w*(?<!_)$
जावा में या
^[a-zA-Z][a-zA-Z0-9_]*(?<!_)$
कुल मिलाकर।
स्पष्टीकरण:
^ # Start of string
[a-zA-Z] # First character: ASCII letter
[a-zA-Z0-9_]* # Following characters: ASCII letter, digit or underscore
(?<!_) # Assert that last character isn"t an underscore
$ # End of string
इसे क्रिया में देखें: