- Mesajlar
- 735
Merhaba arkadaşlar,
Bir site için RegEx kullanmam gerekiyor. Ama Javascript'te RegEx kullanmayı başaramadım.
bunlar PHP için kullandığım RegEx fonksiyonu bunu javascript'e çevirmem gerekiyor. Yardımcı olabilecek olan arkadaşlara şimdiden teşekkür ederim.
Şu an düzenlediğim fonksiyon bu ama çalıştıramadım, sorun veriyor.
Bir site için RegEx kullanmam gerekiyor. Ama Javascript'te RegEx kullanmayı başaramadım.
Kod:
function RegEX($str,$type)
{
switch ($type)
{
case "ip": return preg_match('/^((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){3}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})$/',$str);
case "nonspecialtext": return preg_match('/^[a-z\d_]$/i',$str); // '/^[a-z\d_]{5,20}$/i' for 5-20 chars
case "mail": return preg_match('/^([0-9a-zA-Z]+([_.-]?[0-9a-zA-Z]+)*@[0-9a-zA-Z]+[0-9,a-z,A-Z,.,-]*(.){1}[a-zA-Z]{2,4})+$/',$str);
case "tck": if(preg_match('/^[\d]{11}$/',$str))
{
$tek=substr($str,0,1)+substr($str,2,1)+substr($str,4,1)+substr($str,6,1)+substr($str,8,1);
$cift=substr($str,1,1)+substr($str,3,1)+substr($str,5,1)+substr($str,7,1);
if(substr($str,9,1)==($tek*7-$cift)%10)
if(substr($str,10,1)==($tek+$cift+substr($str,9,1))%10)
return true;
}
return false;
case "url": return preg_match('/^(http[s]?://|ftp://)?(www\.)?[a-zA-Z0-9-\.]+\.(com|org|net|mil|edu|ca|co|com|gov)[.tr|.au|.uk|.jp|.de|.fr|.it|.ru]?$/',$str);
case "integer": return preg_match('(?<!\S)\d++(?!\S)',$str);
case "phone": return preg_match('\(?[0-9]{3}\)?[-. ]?[0-9]{3}[-. ]?[0-9]{4}',$str);
}
}
bunlar PHP için kullandığım RegEx fonksiyonu bunu javascript'e çevirmem gerekiyor. Yardımcı olabilecek olan arkadaşlara şimdiden teşekkür ederim.
Kod:
function validatevalue(elmid,method)
{
switch (method)
{
case "ip": regexstr="^((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){3}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})$"; break;
case "nonspecialtext": regexstr="^[a-z\d_]$"; break;
case "mail": regexstr="^([0-9a-zA-Z]+([_.-]?[0-9a-zA-Z]+)*@[0-9a-zA-Z]+[0-9,a-z,A-Z,.,-]*(.){1}[a-zA-Z]{2,4})+$"; break;
case "tck": regexstr="^[\d]{11}$"; break;
case "url": regexstr="^(http[s]?://|ftp://)?(www\.)?[a-zA-Z0-9-\.]+\.(com|org|net|mil|edu|ca|co|com|gov)[.tr|.au|.uk|.jp|.de|.fr|.it|.ru]?$"; break;
case "integer": regexstr="(?<!\S)\d++(?!\S)"; break;
case "phone": regexstr="\(?[0-9]{3}\)?[-. ]?[0-9]{3}[-. ]?[0-9]{4}"; break;
}
var elmv=document.getElementById(elmid).value;
//var re = new RegExp(regexstr);
if(!document.getElementById(elmid).value.match(regexstr))
{
alert("Lütfen geçerli bir değer giriniz..");
return false;
}
else
{
if(method=="tck")
{
var t=elmv.substr(0,1)+elmv.substr(2,1)+elmv.substr(4,1)+elmv.substr(6,1)+elmv.substr(8,1);
var c=elmv.substr(1,1)+elmv.substr(3,1)+elmv.substr(5,1)+elmv.substr(7,1);
if(elmv.substr(9,1)==(t*7-c)%10)
{
if(elmv.substr(10,1)==(t+c+elmv.substr(9,1))%10)
return true;
else
return false;
}
else
return false;
}
return true;
}
}
Şu an düzenlediğim fonksiyon bu ama çalıştıramadım, sorun veriyor.