Hello @Kal_Lam Thank you for the information you provided. I want to make only capital letters starting A-Z with punctuation marks and numbers for the address question. I will be glad if you help. ie.(ANKARA-TURKEY 20/4)
Is there any limitations with the length of ANKARA
and TURKEY
or are they a fixed words that each enumerators has to use. Besides, what does 20/4
signify? Is it just a 2 digit/1digit
format?
There is no limitation for the length. Actually it can be any address format.The thing is comprises only capital letters and may include numbers or punctuations. @Kal_Lam
Maybe you could try it as outlined in the image shared below:
In the survey tab of your xlsform:
Data entry screen as seen in Enketo
: wrong entry is made
Data entry screen as seen in Enketo
: correct entry is made
Reference xlsform:
UPPER CASE (Regex).xlsx (10.1 KB)
Hello again @Kal_Lam yes its working properly. thank you for your support it is really much appreciated.
One last thing @Kal_Lam , when I use Turkish characters, the capitalization rule does not work. For example, when I write βΓΌβ βΔβ βΓ§β, it accepts them as lowercase.is there a way to prevent this. Thanks
I am not aware with the Turkish script but one check, have you changed your input mode to Turkish language? Maybe this should help you solve your issue. Kindly please let us know what happens. This should help the community!
Input mode is in Turkish language but problem still continues. @Kal_Lam
Maybe some colleagues having knowledge with Turkish
should be able to help us solve this issue.
I would be more than happy if you can inform me after find solution. @Kal_Lam
Hello,
You may try to just add all these special Turkish characters to the list in the [ β¦]
Attention; The regex example will allow any combination and order, like " " or β+ ? -β or β-1 Aβ.
You can use the search function of this forum to get more examples and discussion, with the toke βuppercaseβ.
Maybe also the translate function (as calculation) might be interesting, to automatically correct the input. https://www.w3.org/TR/1999/REC-xpath-19991116/#function-translate
Enter Text to be in Uppercase
Side-note:
Maybe @Xiphware knows, if character classes [:alpha:] OR those classes for Unicode, like \p{Uppercase_Letter} can be used with KoBo/ODK regex. Or [:alpha:]
(See https://en.wikipedia.org/w/index.php?title=Regular_expression&action=view§ion=19#Character_classes and
https://en.wikipedia.org/w/index.php?title=Regular_expression&action=view§ion=19#Unicode)
Kind regards
Hello thanks for your answers. I added all the Turkish charachters to the list but it still accepts lower case for only Turkish charachters. Please see my constrait formula below.
regex(.,β^[A-ZΓΓΔ°ΕΔΓ 0-9\W]+$β)
Hello,
You may try to remove the \W, so only Uppercase, Blank and 0-9 will be allowed.
Hello @wroos when I delete β\ Wβ this expression it works(doesnβt accept lower letters Turkish characters too.) but then it does not accept punctuation marks too , I want only capital letters and may include numbers or punctuations.
Hello,
Would you mind to have a look for better understanding of regex features here, please:
https://support.kobotoolbox.org/restrict_responses.html
You can add all allowed characters in the [β¦] list. (But each of them is valid to be entered as first character.)