Html - CSS - XML - JavaScript - Ajax
JS - Regex Türkçe Karakter (Dynamics CRM)
JS - Regex Türkçe Karakter (Dynamics CRM)
-
Selam millet crm içinde girilen bir alanı onkeypress de setlemeye çalışıyorum. Yapmak istediğim şey
1- isim alanına sadece Harf girilebilir türkçe karakterler dahil
2- Rakam nokta virgül vs girilemez.
3- En sonundada set etmeden büyük harfe çekmek istiyorum.
Yazdığım codeları düzenleyip isediği kriterlere getirebilecek varsa çok memnun kalırım şayet js pek bilmiyorum ve beynim durdu yoruldum. CODE2 de paylaştıgım şekil Regex ile iş çözülürse fevkelade olur.
Ben ne yaptım ne yapamadım.
CODE1: Burada türkçe karakterler kabul ediyor upper yapıyor ama rakam falan ne varsa giriliyor.
toUpperCaseAndOnlyAlphabet = function (x) { Xrm.Page.getControl(x).addOnKeyPress(function(x){ var value = x.getEventSource().getValue(); var n = value.slice(-1); var charCode = n.charCodeAt(); if ((charCode > 96 && charCode < 123)|| charCode == 231 || charCode == 305 || charCode == 287 || charCode == 246 || charCode == 351 || charCode == 252 || charCode == 199 || charCode == 304 || charCode == 208 || charCode == 214 || charCode == 350 || charCode == 220 ||(charCode > 47 && charCode < 58)) { if(charCode == 105){ Xrm.Page.getAttribute(x.getEventSource().getName()).setValue(value.substring(0, value.length-1) + 'İ'); return true; }else if( (charCode > 47 && charCode < 58) ){ return false; } else if (charCode == 304 || charCode == 214 || charCode == 220 || charCode == 199 || charCode == 350) { return false; } else { Xrm.Page.getAttribute(x.getEventSource().getName()).setValue(value.toUpperCase()); } } else { return false; } }); }
CODE2 : Regex ile yapmaya çalıştım. Buradaki problem sayılar vs de giriliyor dogru pattern ı yazamadım.
numLock2 = function(x) { Xrm.Page.getControl(x).addOnKeyPress(function () { var userInput = Xrm.Page.getControl(x).getValue(); userInput = userInput.replace(/[^\u0000-\u007F]|\w/i), ""); Xrm.Page.getAttribute(x).setValue(userInput.toUpperCase()); }); }
-
var deger="Abc32*_?!de., fgçüöğİÇÜĞÖ"; var a=deger.replace(/[^a-zA-ZçüöğİÇÜGÖ]/gi,""); alert(a);
Hocam benimde çok bilgim yok bu şekilde yapınca çıktı olarak bunu AbcdefgçüöğİÇÜĞÖ verdi.Umarım işine yarar.