ฟังก์ชันสตริง

rtSurvey รองรับฟังก์ชันต่างๆ รวมถึง:

  1. string(field): แปลงฟิลด์เป็นสตริง

    • ตัวอย่าง: string(34.8) จะถูกแปลงเป็น '34.8'
  2. string-length(field): ส่งคืนความยาวของฟิลด์สตริง

    • ตัวอย่าง: string-length(.) > 3 and string-length(.) < 10
  3. substr(fieldorstring, startindex, endindex): ส่งคืน substring เริ่มต้นที่ startindex และสิ้นสุดก่อน endindex

    • ตัวอย่าง: substr(${phone}, 0, 3) จะส่งคืนสามหลักแรกของหมายเลขโทรศัพท์
  4. concat(a, b, c, ...): เชื่อมต่อฟิลด์และ/หรือสตริงเข้าด้วยกัน

    • ตัวอย่าง: concat(${firstname}, ' ', ${lastname}) จะส่งคืนชื่อเต็ม
  5. linebreak(): ส่งคืนอักขระขึ้นบรรทัดใหม่

  6. lower(): แปลงสตริงเป็นอักษรตัวพิมพ์เล็กทั้งหมด

  7. upper(): แปลงสตริงเป็นอักษรตัวพิมพ์ใหญ่ทั้งหมด

ฟังก์ชัน select_one และ select_multiple

  1. count-selected(field): ส่งคืนจำนวนรายการที่เลือกในฟิลด์ select_multiple

  2. selected(field, value): ส่งคืน true หรือ false ขึ้นอยู่กับว่าเลือกค่าที่ระบุในฟิลด์หรือไม่

    • ตัวอย่าง: selected(${color}, 'Blue')
  3. selected-at(field, number): ส่งคืนรายการที่เลือกที่ตำแหน่งที่ระบุในฟิลด์ select_multiple

  4. choice-label(field, value): ส่งคืนป้ายกำกับสำหรับตัวเลือกฟิลด์ select_one หรือ select_multiple

ฟังก์ชันฟิลด์ซ้ำ

  1. join(string, repeatedfield): สำหรับฟิลด์ในกลุ่ม repeat สร้างรายการที่คั่นด้วยสตริง

  2. count(repeatgroup): ส่งคืนจำนวนครั้งปัจจุบันที่กลุ่ม repeat ทำซ้ำ

  3. sum(repeatedfield): สำหรับฟิลด์ในกลุ่ม repeat คำนวณผลรวมของค่าทั้งหมด

  4. min(repeatedfield): สำหรับฟิลด์ในกลุ่ม repeat คำนวณค่าต่ำสุดของค่าทั้งหมด

  5. max(repeatedfield): สำหรับฟิลด์ในกลุ่ม repeat คำนวณค่าสูงสุดของค่าทั้งหมด

  6. indexed-repeat(repeatedfield, repeatgroup, index): อ้างอิงฟิลด์ที่อยู่ในกลุ่ม repeat จากภายนอกกลุ่ม repeat นั้น

ฟังก์ชันตัวเลข

OperatorOperationExampleExample answer
+Addition1 + 12
-Subtraction3 - 21
*Multiplication3 * 26
divDivision10 div 25
modModulus9 mod 21

rtSurvey รองรับฟังก์ชันตัวเลข รวมถึง:

  • number(field): แปลงค่าของฟิลด์เป็นตัวเลข
  • int(field): แปลงค่าของฟิลด์เป็นจำนวนเต็ม
  • round(field, digits): ปัดเศษค่าฟิลด์ตัวเลขเป็นจำนวนหลักที่ระบุ
  • abs(number): ส่งคืนค่าสัมบูรณ์ของตัวเลข
  • pow(base, exponent): ส่งคืนค่าของพารามิเตอร์แรกยกกำลังพารามิเตอร์ที่สอง
  • sqrt(fieldorvalue): ส่งคืนรากที่สองที่ไม่ติดลบ
  • pi(): ส่งคืนค่าของ pi

ฟังก์ชันวันที่และเวลา

  1. today(): ส่งคืนวันที่วันนี้เป็นสตริงในรูปแบบ YYYY-MM-DD

  2. now(): ส่งคืนวันที่และเวลาปัจจุบันเป็นสตริง ISO 8601

  3. decimal-date-time(value): แปลงสตริงวันที่หรือ datetime เป็นตัวเลขทศนิยม ใช้เพื่อทำการคำนวณทางคณิตศาสตร์กับวันที่

  4. format-date(date, format): จัดรูปแบบค่าวันที่โดยใช้สตริงรูปแบบ

  5. format-date-time(datetime, format): จัดรูปแบบค่า datetime โดยใช้สตริงรูปแบบ

ฟังก์ชัน Boolean

  1. boolean(value): แปลงค่าใดๆ เป็น boolean
  2. not(expression): ส่งคืนค่า negation เชิงตรรกะของนิพจน์
  3. true(): ส่งคืนค่า boolean true
  4. false(): ส่งคืนค่า boolean false

ฟังก์ชันทางภูมิศาสตร์

  1. area(geoshape_value): คำนวณ พื้นที่เป็นตารางเมตร ที่ล้อมรอบด้วย geoshape (รูปหลายเหลี่ยม)

  2. distance(coordinates): คำนวณ ความยาวเส้นทางรวมเป็นเมตร ของ geotrace (เส้น)

ฟังก์ชันการตรวจสอบ

  1. regex(value, pattern): ส่งคืน true ถ้า value ตรงกับนิพจน์ปกติ pattern

  2. checklist(min, max, v1, v2, ...): ประเมินรายการนิพจน์ boolean

ฟังก์ชันอรรถประโยชน์

  1. uuid(): สร้าง UUID แบบสุ่ม (รูปแบบ RFC 4122 v4)

  2. position(): เมื่อเรียกภายในกลุ่ม repeat ส่งคืนดัชนีแบบ 1-based ของอินสแตนซ์ repeat ปัจจุบัน

  3. coalesce(a, b): ส่งคืน a ถ้า a ไม่ว่าง มิฉะนั้นส่งคืน b

  4. once(value): ประเมิน value และเก็บไว้ แต่เฉพาะถ้าฟิลด์ปัจจุบัน ว่าง เท่านั้น

หน้านี้มีประโยชน์หรือไม่?