x

Ana bölümler

  1. LimeSurvey Cloud ve LimeSurvey CE karşılaştırması
  2. Hızlı başlangıç kılavuzu - LimeSurvey 3.0+
  3. Kurulum - LimeSurvey CE
  4. İyi bir anket nasıl tasarlanır (kılavuz)
  5. Başlarken
  6. LimeSurvey'i Yönetme
  7. Anketler - giriş
  8. Anket ayarları
  9. Anket menüsü
  10. Anket yapısı
  11. Sorular - giriş
  12. Soru grupları - giriş
  13. Anketler - yönetim
  14. Anket araç çubuğu seçenekleri
  15. Çok dilli anket
  16. ExpressionScript Motoru - Hızlı başlangıç kılavuzu
  17. Kategorize edilmemiş ve gelişmiş özellikler
  18. Genel SSS
  19. Sorun giderme
  20. Geçici çözümler
  21. Lisans
  22. Sürüm değişiklik günlüğü
  23. Eklentiler
 Actions

Kurallı ifadeleri kullanma

From LimeSurvey Manual

Bu sayfa makine çevirisiyle çevrilmiş olabilir ve hatalar içerebilir. İngilizce orijinali göster · Bu çeviriyi iyileştir
This page is a translated version of the page Using regular expressions and the translation is 100% complete.

Kurallı ifadeler eğik çizgi ("/") ile başlamalı ve bitmelidir. İyi bir kurallı ifade kitaplığını https://www.regexlib.net/ adresinde bulabilirsiniz. Bu desenler, eğik çizgilerle çevrelendiklerinde neredeyse her zaman çalışır.

Kurallı ifadenizi test etmek için bu regex test aracını kullanabilirsiniz.

Bu wiki bölümünü geliştirmek için, yeni (potansiyel) LimeSurvey kullanıcılarının bu özelliği daha iyi anlayabilmesi amacıyla başarıyla test ettiğiniz kurallı ifadeleri eklemenizi rica ederiz.
  Dikkat : Lütfen aşağıdaki tüm örneklerin tek satır halinde yazıldığını unutmayın!



Önemli: Koşullarda kurallı ifadeler

Koşul düzenleyicisinde kurallı ifade kullanırken baştaki ve sondaki eğik çizgiyi EKLEMEYİN.


E-posta doğrulama

Güncelleme (12/2018): Günümüzde etki alanı adları yalnızca “ü” gibi özel karakterler içermekle kalmayıp .tech veya .company gibi 3 karakterden uzun uzantılar da kullanabildiğinden, aşağıdaki e-posta kurallı ifadesi yalnızca girilen e-posta adresinde “@” ve “.” karakterlerinin bulunup bulunmadığını denetler.

/^.+?@.+?\..+$/

Çok satırlı bir uzun yazı alanında satır başına bir adresi doğrulamak istiyorsanız:

/^(((\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*(\r\n)?\n?)+)*)$/

Bu eski kurallı ifadede etki alanı adı 3 karakterle sınırlıdır ve mevcut tüm etki alanlarını kapsamaz:

/^(\w[-._+\w]*\w@\w[-._\w]*\w\.\w{2,3})$/

Posta kodları

Avustralya posta kodları:

/^[0-9]{4}/

Brezilya posta kodları

/^[0-9]{2}\.[0-9]{3}-[0-9]{3}$/

Kanada posta kodları

/^[a-zA-Z]\d{1}[a-zA-Z](\-| |)\d{1}[a-zA-Z]\d{1}$/

ABD posta kodları

/^[0-9]{5}([- /]?[0-9]{4})?$/

Posta kodunun sıfırla başlaması için şunu kullanın:

/^[0-9]{5}(?:-[0-9]{4})?$/

Birleşik Krallık posta kodları

/^[A-Z][A-Z]?[0-9][A-Z0-9]? ?[0-9][ABDEFGHJLNPQRSTUWXYZ]{2}$/i

Bunun çok kesin olmadığını, daha kesin bir doğrulamanın ise çok daha karmaşık olduğunu unutmayın. Daha fazla bilgi için örneğin StackOverflow yanıtına ve Wikipedia'ya bakın.

Fransa posta kodları

/(^[0-8]\d\d{3}$)|(^9[0-5]\d{3}$)|(^97[1-6]\d{2}$)|(^98[46-8]\d{2}$)/

Yukarıdaki ifade çok kesindir ve denizaşırı departmanlar ile denizaşırı topraklar (DOM-TOM) dahil olmak üzere Fransız departmanının (ilk iki hane) var olup olmadığını denetler.


Telefon numaraları

ABD telefon numaraları

/^(?:\([2-9]\d{2}\)\ ?|[2-9]\d{2}(?:\-?|\ ?))[2-9]\d{2}[- ]?\d{4}$/

veya

/^[\(\)\.\- ]{0,}[0-9]{3}[\(\)\.\- ]{0,}[0-9]{3}[\(\)\.\- ]{0,}[0-9]{4}[\(\)\.\- ]{0,}$/

Bu ikinci seçenek, rakam olmayan sembollerin yer aldığı tüm Kanada ve ABD telefon numaralarıyla eşleşir. Bu semboller şunlardır:

 . ( ) - (space)

Bu sayede aşağıdakine benzeyen telefon numaralarını eşleştirebilirsiniz:

  • (555)555 5555
  • 555.555.5555
  • 555 555 5555
  • (555)-555-5555
  • 555-555-5555
  • 555555555

Avustralya telefon numaraları

Aşağıdaki desenler, "+61" ülke ön ekiyle yazılanlar dahil olmak üzere tüm Avustralya cep ve sabit telefon numaralarıyla eşleşir:

  • (02) 9123 6535
  • 03 1234-5345
  • 0412 345 678
  • +61 2 3456 789

Ancak şunlarla eşleşmez:

  • 234 3450 234
  • a234 534 3432
  • 134567
  • 123456789013

Parantezler, boşluklar ve tireler yok sayılır.

Burada listelenen 'Çok kesin:' sürümleri, geçerli Avustralya numaraları olduklarından emin olmak için bir numaranın ilk dört veya beş hanesini eşleştirir.

'Pek kesin değil:' sürümleri yalnızca birinci ve ikinci haneyi eşleştirir, bu nedenle geçersiz numaralara izin verebilir.

Tüm Avustralya telefon numaraları (cep ve sabit hat - alan kodu zorunlu)

Çok kesin:

/^\(?(?:\+?61|0)(?:(?:2\)?[ -]?(?:3[ -]?[38]|[46-9][ -]?[0-9]|5[ -]?[0-35-9])|3\)?(?:4[ -]?[0-57-9]|[57-9][ -]?[0-9]|6[ -]?[1-67])|7\)?[ -]?(?:[2-4][ -]?[0-9]|5[ -]?[2-7]|7[ -]?6)|8\)?[ -]?(?:5[ -]?[1-4]|6[ -]?[0-8]|[7-9][ -]?[0-9]))(?:[ -]?[0-9]){6}|4\)?[ -]?(?:(?:[01][ -]?[0-9]|2[ -]?[0-57-9]|3[ -]?[1-9]|4[ -]?[7-9]|5[ -]?[018])[ -]?[0-9]|3[ -]?0[ -]?[0-5])(?:[ -]?[0-9]){5})$/

Pek kesin değil:

/^(?:\+?61|0)[2-478](?:[ -]?[0-9]){8}$/

Tüm Avustralya telefon numaraları (yalnızca sabit hat - alan kodu zorunlu)

Çok kesin:

/^\(?(?:\+?61|0)(?:2\)?[ -]?(?:3[ -]?[38]|[46-9][ -]?[0-9]|5[ -]?[0-35-9])|3\)?(?:4[ -]?[0-57-9]|[57-9][ -]?[0-9]|6[ -]?[1-67])|7\)?[ -]?(?:[2-4][ -]?[0-9]|5[ -]?[2-7]|7[ -]?6)|8\)?[ -]?(?:5[ -]?[1-4]|6[ -]?[0-8]|[7-9][ -]?[0-9]))(?:[ -]?[0-9]){6}$/

Pek kesin değil:

/^(?:\+?61|\(?0)[2378]\)?(?:[ -]?[0-9]){8}$/

Yeni Güney Galler sabit hat telefon numaraları (alan kodu isteğe bağlı)

Çok kesin:

/^(?:\(?(?:\+?61|0)2\)?[ -]?)?(?:3[ -]?[38]|[46-9][ -]?[0-9]|5[ -]?[0-35-9])(?:[ -]?[0-9]){6}$/

Pek kesin değil:

/^(?:\(?(?:\+?61|0)2\)?(?:[ -]?[0-9]){7}[0-9]$/

Victoria ve Tazmanya sabit hat telefon numaraları (alan kodu isteğe bağlı)

Çok kesin:

/^(?:\(?(?:\+?61|0)3\)?[ -]?)?(?:4[ -]?[0-57-9]|[57-9][ -]?[0-9]|6[ -]?[1-67])(?:[ -]?[0-9]){6}$/

Pek kesin değil:

/^(?:\(?(?:\+?61|0)3\)?(?:[ -]?[0-9]){7}[0-9]$/

Queensland sabit hat telefon numaraları (alan kodu isteğe bağlı)

Çok kesin:

/^(?:\(?(?:\+?61|0)7\)?[ -]?)?(?:[2-4][ -]?[0-9]|5[ -]?[2-7]|7[ -]?6)(?:[ -]?[0-9]){6}$/

Pek kesin değil:

/^(?:\(?(?:\+?61|0)7\)?(?:[ -]?[0-9]){7}[0-9]$/

Güney Avustralya, Kuzey Bölgesi, Batı Avustralya sabit hat telefon numaraları (alan kodu isteğe bağlı)

Çok kesin:

/^(?:\(?(?:\+?61|0)8\)?[ -]?)?(?:5[1-4]|6[0-8]|[7-9][0-9])$/

Pek kesin değil:

/^(?:\(?(?:\+?61|0)8\)?(?:[ -]?[0-9]){7}[0-9]$/

Yalnızca Avustralya cep telefonu numaraları

Çok kesin:

/^(?:\+?61|0)4 ?(?:(?:[01] ?[0-9]|2 ?[0-57-9]|3 ?[1-9]|4 ?[7-9]|5 ?[018]) ?[0-9]|3 ?0 ?[0-5])(?: ?[0-9]){5}$/

Pek kesin değil:

/^(?:\(?(?:\+?61|0)4\)?(?:[ -]?[0-9]){7}[0-9]$/

Belçika telefon numarası

/^((\+|00)32\s?|0)(\d\s?\d{3}|\d{2}\s?\d{2})(\s?\d{2}){2}$/

Belçika cep telefonu numarası

/^((\+|00)32\s?|0)4(60|[789]\d)(\s?\d{2}){3}$/

Fransa telefon numarası

/^((\+|00)33\s?|0)[1-59](\s?\d{2}){4}$/

Fransa cep telefonu numarası

/^((\+|00)33\s?|0)[67](\s?\d{2}){4}$/

Lüksemburg telefon numarası

/^((\+|00\s?)352)?(\s?\d{2}){3,4}$/

Lüksemburg cep telefonu numarası

/^((\+|00\s?)352)?\s?6[269]1(\s?\d{3}){2}$/

Alman notları (isteğe bağlı artı veya eksi ile)

/^[1-6]{1}[\+|\-]?$/


Yaş doğrulama

Örnek: 20-99 yaş

/([2-9][0-9])/

Örnek: 18-35 yaş

/(1[8-9]|2[0-9]|3[0-5])/

Örnek: 19-65 yaş

/^(1[8-9]|[2-5][0-9]|6[0-5])$/


Sayı doğrulama

1'den 99999'a kadar sayılar

/^([1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9])$/
/^[1-9][0-9]{0,4}$/ does the same as above but should run a little faster

1'den 999'a, 1.000'den 999.999'a ve 999.999.999'a kadar sayılar

/^[1-9][0-9]{0,2}(?:\.[0-9]{3}){0,2}$/

1'den 999'a, 1.000'den 999.999'a ve 999.999.999'a kadar olan sayıları kabul eder, ancak 999.1.1, 94.22.22, 999.1.22, 999.11.1, 999.1.333 gibi sayıları reddeder.

İsteğe bağlı ondalıklı sayı doğrulama (fiyat için)

0 ile 199 arasındaki sayıları kabul eder, 2 ondalık basamak isteğe bağlıdır:

/^([1][0-9][0-9]|[1-9][0-9]|[0-9])((\.)[0-9][0-9])?$/

Binlik ayırıcılı sayı doğrulama

Ayırıcı olarak boşluk, eksi işareti yok

/^(?!0)\d{1,3}(\ \d{3})*$/

Ayırıcı olarak nokta, eksi işaretine izin verilir

/^-?(?!0)\d{1,3}(\.\d{3})*$/

İki ondalık basamağı zorunlu kılar ve binlikleri/milyonları ayıran isteğe bağlı virgül ile 1.00 ile 999,999,999.00 arasındaki sayıları kabul eder. Aşağıdakilerin tümü kabul edilir: 1.00, 1,000.00, 12,345.67, 12345,02, 123,456,468.00, 1234566.00, 123456789.00 Ancak 1,23.00, 12,3.4 veya 1234,43.04 kabul edilmez.

/^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}\.[0-9]{2}$/

Yukarıdakine benzer: İki ondalık basamağı zorunlu kılar ancak "," ondalık ayırıcısından önce bir "0" kabul eder.

/[0-9]{0,2}(?:,?[0-9]{3}){0,3}\.[0-9]{2}$/

Yukarıdakiyle aynı, ancak iki ondalık basamak isteğe bağlıdır:

/^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}(?:\.[0-9]{2})?$/

Ay (1-12)

Bir kişinin doğduğu ayı soruyorsanız girdiyi aşağıdaki gibi doğrulayabilirsiniz:

/^[0]*[1-9]$|^[0]*1[0-2]$/

En az genişlik (bu örnekte 3 olarak ayarlanmıştır)

/^.{3,}$/


Para birimi

ABD para birimi (dolar işareti ve kuruş isteğe bağlı)

/^\$?\d+(\.(\d{2}))?$/

Virgül kullanımını denetleyin:

/^\$?\d{1,3}(\d+(?!,))?(,\d{3})*(\.\d{2})?$/

İsviçre fiyatı

Ondalık noktasından sonra iki ondalık basamağı olan ve bunlardan sonuncusu 5 veya 0 olan bir sayı:

/^(\d+)(\.\d(05)?)?$/


Puan doğrulama

1-10

/^[1-9]{1}$|^10$/

1-100

/^[1-9]?[0-9]{1}$|^100$/


Metin doğrulama

Birkaç kısa yazı soru türü şu anda en az veya en fazla yanıt sayısını desteklemez. Bunu aşmanın bir yolu, kurallı ifade ile birlikte Uzun serbest yazı soru türünü kullanmaktır.

Aşağıdaki ifade, satır başına en az bir kelime olacak şekilde en az 3 ve en fazla 10 satırı denetler:

/(?:[^,.;:?!& \n\r]+(?: [^,.;:?!& \n\r]+)*)(?:[,.;:?!& \n\r]?(?:\n|\r|\n\r|\r\n)(?:[^,.;:?!& \n\r]+(?: [^,.;:?!& \n\r]+)*)){2,10}/is

Örneğin satır başına beş kelime istiyorsanız, ilk ve son yıldız/asterisk işaretini {4,} olarak değiştirebilirsiniz:

/(?:[^,.;:?!& \n\r]+(?: [^,.;:?!& \n\r]+){4,})(?:[,.;:?!& \n\r]?(?:\n|\r|\n\r|\r\n)(?:[^,.;:?!& \n\r]+(?: [^,.;:?!& \n\r]+){4,})){2,10}/is

Satır başına bir veya daha fazla kelime istiyorsanız (1. ve 5. satır arasında), son süslü parantezlerin içindeki değeri 0,4 olarak değiştirebilirsiniz (ilk satırı zaten eşleştirdiğiniz için 0 kullandığınıza dikkat edin).

/(?:[^,.;:?!& \n\r]+(?: [^,.;:?!& \n\r]+)*)(?:[,.;:?!& \n\r]?(?:\n|\r|\n\r|\r\n)(?:[^,.;:?!& \n\r]+(?: [^,.;:?!& \n\r]+)*)){0,4}/is

Kelime sayısı

Aşağıdaki ifade, izin verilen kelime sayısını en az 1 ve en fazla 200 ile sınırlar:
/^[-\w]+(?:\W+[-\w]+){0,199}\W*$/
En az değeri artırmak için {0,199} içindeki sıfır kısmını değiştirin.

En fazla değeri artırmak veya azaltmak için {0,199} içindeki "199" kısmını değiştirin.

Saat doğrulama

Saat biçimlerini yazmanın birçok yolu vardır. Olası seçeneklerden bazıları 12 saatlik veya 24 saatlik, saniyeli veya saniyesizdir. Tarih soru türünü kullanmak da bir seçenek olsa da (saati de alabilir), aşağıdaki doğrulama kurallı ifadelerinden biriyle Kısa serbest yazı soru türünü kullanabilirsiniz.

Aşağıdaki üç doğrulama dizesi, 24 saatlik saati sırasıyla saniyesiz, isteğe bağlı saniyeli ve son olarak zorunlu saniyeli olarak denetler:

/^(?:[01][0-9]|2[0-3]):[0-5][0-9]$/
/^(?:[01][0-9]|2[0-3]):[0-5][0-9](?::[0-5][0-9])?$/
/^(?:[01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$/

Aşağıdaki üçü 12 saatlik saati eşleştirir; yukarıdaki gibi sırasıyla saniyeli, isteğe bağlı saniyeli ve zorunlu saniyeli:

/^(?">00:[0-5][0-9] (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9] (?:[ap]m|[AP]M)|12:[0-5][0-9] (?:pm|PM))$/
/^(?:00:[0-5][0-9](?::[0-5][0-9])? (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9](?::[0-5][0-9])? (?:[ap]m|[AP]M)|12:[0-5][0-9](?::[0-5][0-9])? (?:pm|PM))$/
/^(?:00:[0-5][0-9]:[0-5][0-9] (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9]:[0-5][0-9] (?:[ap]m|[AP]M)|12:[0-5][0-9]:[0-5][0-9] (?:pm|PM))$/

Aşağıdaki üçü 12 veya 24 saatlik saati eşleştirir; yukarıdaki gibi sırasıyla saniyeli, isteğe bağlı saniyeli ve zorunlu saniyeli:

/^(?:(?:00:[0-5][0-9] (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9] (?:[ap]m|[AP]M)|12:[0-5][0-9] (?:pm|PM))|(?:[01][0-9]|2[0-3]):[0-5][0-9])$/
/^(?:(?:00:[0-5][0-9](?[0-5][0-9])? (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9](?[0-5][0-9])? (?:[ap]m|[AP]M)|12:[0-5][0-9](?[0-5][0-9])? (?:pm|PM))|(?:[01][0-9]|2[0-3]):[0-5][0-9](?[0-5][0-9])?)$/
/^(?:(?:00:[0-5][0-9]:[0-5][0-9] (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9]:[0-5][0-9] (?:[ap]m|[AP]M)|12:[0-5][0-9]:[0-5][0-9] (?:pm|PM))|(?:[01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9])$/

ABD eyaletleri

Tek bir eyaleti doğrulamak için aşağıdakileri kullanın (örnek Teksas'tır):

  • TX yalnızca büyük harf:
    /^(TX)$/
    
  • tx yalnızca küçük harf:
    /^(tx)$/
    
  • TX büyük veya küçük harf:
    /^([T|t][X|x])$/
    


Küfür filtresi

Bir yanıttaki küfürlü sözcükleri süzmek için:

/^(?i)((?!\bENTERPROFANITYHERE\b).)*$(?-i)/

"ENTERPROFANITYHERE" ifadesini kendi küfürlü sözcüğünüzle değiştirin.

\b ifadesi, küfürlü sözcük olarak "ass" veya "hell" girseniz bile "assassination" ve "hello" gibi sözcüklerin geçmesine izin verir. Bu yöntem, yanıtlardan başka sözcükleri, adları vb. çıkarmak istediğinizde de işe yarar.


Yararlı bağlantılar

Bu wiki bölümünün başında, düzenli ifadeleri test etmek/oluşturmak için https://regex101.com/ adresini kullanmanızı öneriyoruz. İlk seçenekten memnun kalmazsanız ifade oluşturmak için https://www.regextester.com/ adresini de kullanabilirsiniz. Düzenli ifadeleri görselleştirmek için https://extendsclass.com/regex-tester.html adresini kullanabilirsiniz.