අද කථා කරන්න යන්නේ බොහොම සරල දෙයක් ගැන. සරල උනාට ඉතින් මට මේක කරගන්න ඕන වෙලා හොයන කොට නම් ඉතින් හොයාගන්න ටිකක් කරදර උනා, ඒ නිසාම තමා මම හිතුවේ මේක ගැන ලියන්න ඕනෙ කියල. අපි හැමෝම HTML forms validate කරන්න Java Script පාවිච්චි කරනවා නේ, එක අලුත් දෙයක් නෙමේ. ඒ වගේම තමා Regular Expressions කියන්නෙත් අපිට අලුත් දෙයක් නෙමේ. අපි බලමු මේ දෙකම පාවිච්චි කරලා HTML textbox එකකට අපිට ඕනෙ characters විතරක් enter කරන්න දෙන්නේ කොහොමද කියල.
මෙන්න මේක තමා අපි පාවිච්චි කරන HTML page එක.
මේ තියෙන page එක html විදිහට save කරලා browser එකේ බැලුවම මෙන්න මේ වගේ තමා පෙන්නේ.
දැන් හිතන්න අපිට මේ username එකට @,#,%,$ වගේ special characters නැතුව enter කරන්න දෙන්නේ a-z,A-Z,0-9 විතරයි කියලා.
අපිට පුළුවන් මේකට ලියන්න Reg Ex එකක්, මෙන්න මේ වගේ
මෙතන ඔයාලට පේනවා ඇති අපි RegExp type එකේ object එකක් හදාගෙන තියෙනවා එකට අපි pass කරලා තියෙනවා අපේ regular expression එක,
ඒ වගේම තවත් වැදගත් දෙයක් තමා අපි test method එකට යවල තියෙන්නේ String.fromCharCode(evt.which) කියලා, ඒ මොකද evt.which කිව්වම අපිට එන්නේ අපි press කරපු key එකේ ASCII code එක. ඉතින් අපි ඒක අපිට අවශ්ය character එකට convert කරලා තමා ගන්නේ.
පහල තියෙන්නේ මේකට ඕනෙ කරන සම්පූර්ණ code එක.
ඔන්න ඕක තමා ඉතින් අද කතන්දරේ.
මෙන්න මේක තමා අපි පාවිච්චි කරන 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
Post a Comment