Skip to main content

HTML INPUT enhancement with Regular Expressions and Java Scripts

අද කථා කරන්න යන්නේ බොහොම සරල දෙයක් ගැන. සරල උනාට ඉතින් මට මේක කරගන්න ඕන වෙලා හොයන කොට නම් ඉතින් හොයාගන්න ටිකක් කරදර උනා, ඒ නිසාම තමා මම හිතුවේ මේක ගැන ලියන්න ඕනෙ කියල. අපි හැමෝම HTML forms validate කරන්න Java Script පාවිච්චි කරනවා නේ, එක අලුත් දෙයක් නෙමේ. ඒ වගේම තමා Regular Expressions කියන්නෙත් අපිට අලුත් දෙයක් නෙමේ. අපි බලමු මේ දෙකම පාවිච්චි කරලා HTML textbox එකකට අපිට ඕනෙ characters විතරක් enter කරන්න දෙන්නේ කොහොමද කියල.

මෙන්න මේක තමා අපි පාවිච්චි කරන HTML page එක.

 <!DOCTYPE html>  
 <html>  
      <head>  
           <title>JS and RegEx</title>  
      </head>  
      <body>  
           <label for="txtUsername">Username</lable>  
           <input type="text" id="txtUsername" placeholder="Enter Username"/>  
      </body>  
 </html>  

මේ තියෙන page එක html විදිහට save කරලා browser එකේ බැලුවම මෙන්න මේ වගේ තමා පෙන්නේ.

දැන් හිතන්න අපිට මේ username එකට @,#,%,$ වගේ special characters නැතුව enter කරන්න දෙන්නේ a-z,A-Z,0-9 විතරයි කියලා.

අපිට පුළුවන් මේකට ලියන්න Reg Ex එකක්, මෙන්න මේ වගේ
"^[a-zA-Z0-9]"
 මේ පහල තියෙන්නේ අපි පාවිච්චි කරන Java Script function එක,
 function ValidateInput(evt)  
 {  
   var valRegExp = new RegExp("^[a-zA-Z0-9]");  
   if (valRegExp.test(String.fromCharCode(evt.which)))  
   {  
       return true;  
   }  
   else  
   {  
       return false;  
   }  
 }  

මෙතන ඔයාලට පේනවා ඇති අපි RegExp type එකේ object එකක් හදාගෙන තියෙනවා එකට අපි pass කරලා තියෙනවා අපේ regular expression එක,

ඒ වගේම තවත් වැදගත් දෙයක් තමා අපි test method එකට යවල තියෙන්නේ String.fromCharCode(evt.which) කියලා, ඒ මොකද evt.which කිව්වම අපිට එන්නේ අපි press කරපු key එකේ ASCII code එක. ඉතින් අපි ඒක අපිට අවශ්‍ය character එකට convert කරලා තමා ගන්නේ.

පහල තියෙන්නේ මේකට ඕනෙ කරන සම්පූර්ණ code එක.

 <!DOCTYPE html>  
 <html>  
      <head>  
           <title>JS and RegEx</title>  
           <script type="text/javascript">  
                function ValidateInput(evt)  
                {  
                  var valRegExp = new RegExp("^[a-zA-Z0-9]");  
                  if (valRegExp.test(String.fromCharCode(evt.which)))  
                  {  
                      return true;  
                  }  
                  else  
                  {  
                      return false;  
                  }  
                }  
           </script>  
      </head>  
      <body>  
           <label for="txtUsername">Username</lable>  
           <input type="text" id="txtUsername" placeholder="Enter Username" onkeypress="return ValidateInput(event)"/>  
      </body>  
 </html>  

ඔන්න ඕක තමා ඉතින් අද කතන්දරේ.

Comments

Popular posts from this blog

Simple Data Binding in WPF

අපි කලින් ලියුමක WPF වල layouts ලේසියෙන් හදාගන්නේ කොහොමද කියල බැලුවා කට්ටියට මතක ඇති නේද. ඉතින් අද අපි බලන්න යන්නේ මෙතනින් තව පොඩ්ඩක් ඉස්සරහට යන්නේ කොහොමද කියල. ඒ කියන්න අද අපි බලමු අපි මේ හදාගත්ත client window එක කොහොමද අපේ business layer එකත් එක්ක connect කරන්නේ කියල. ඒකට තියෙන සරලම සහ හොඳම විදිහ තමා මේ Data Binding කියල කියන්නේ. Data Binding වලින් අපිට පුළුවන් අපේ Business Layer එකයි UI එකයි අතරේ data auto update කරන්න. Data Binding කොටස් දෙකක් තියෙනවා Unidirectional කියන්නේ source එකේ ඉඳල target එකට හරි target එකේ ඉඳල source එකට හරි එක පැත්තකට විතරක් data update වෙන එකට. Bidirectional කියන්නේ source එකෙන් target එකටයි target එකෙන් source එකයි දෙපැත්තටම data update වෙන එකට. ඒ වගේම binding target එක හැම වෙලේම DependencyProperty එකක් වෙන්න ඕනෙ.(DependencyProperty එකක් කියන්නේ සරලව ගත්තොත් object එකක අපිට runtime එකේදී වෙනස් කරන්න පුළුවන් property එකක්.) ඉස්සෙල්ලම අපි මෙන්න මේ පහල තියෙන Window එක හදාගෙන ඉමු. මේකට ඕනෙ කරන XAML markup එක තමා පහල තියෙන්නේ. <Windo...

How to set a web page to the center of the browser

අද අපි කතා කරන්න ලැස්ති වෙන්නේ අපිට web page එකක් design කරනකොට ඕනේ වෙන පොඩි technique එකක් ගැන. ඔයාල ඕනේ තරම් දැකල ඇති web sites වල මුළු page එකම center වෙලා තියෙනවා. අපි උදාහරණයක්‌ ගත්තොත් W3Schools site එක වගේ. පේනවා නේ site එකේ content එක page එකේ මැදට වෙන්න තියෙන ලස්සන. මේක කරගන්න පුළුවන් මෙන්න මේ විදිහට. <html> <head> <title>Testing Centered Content</title> </head> <body> <div id="mainContent" style="width:900px;margin-left:auto; margin-right:auto;background-color:Gray;height:500px"> This is the content which is centered </div> </body> </html> මෙතන අපි ඇත්තටම විශේෂ දේවල් පාවිච්චි කරලා නෑ. සරල html code එකක් තමා තියෙන්නේ. අපි <div> එකක් හදාගෙන තියෙනවා mainContent කියල. ඒ div ඒකට style එකක් apply කරල තියෙනවා. එකේ අපි කරලා තියෙන්නේ site එකේ content width එක සෙට් කරලා තියෙනවා pixel 900 කට. ඊට පස්සේ වැදගත් වෙන්නේ margin-left එකයි margi...