jrgong
(jrgong)
4 أغسطس 2020، 12:24م
1
ما الذي تود إنجازه؟
مرحبًا يا أصدقاء
بما أننا ندير منتدانا على أساس مجهول، نود حماية خصوصية أعضائنا.
ولهذا نود تنفيذ استعلام في مستكشف البيانات يُنبّه المشرفين عند إرسال رسالة خاصة تحتوي على رقم هاتف .
كان هناك قالب رائع من @SidV لاستعلام في مستكشف البيانات هنا:
-- https://meta.discourse.org/t/43516/115?u=sidv
-- Replace WELCOME-TITLE-from-discobot by the exact title of your welcome message,
-- so that all welcome messages generated automatically are excluded.
-- [params]
-- int :limit = 10
-- string :term = %term%
SELECT p.user_id, p.topic_id, p.post_number, p.raw, p.created_at::date
FROM posts p
LEFT JOIN topics t on t.id = p.topic_id
WHERE t.archetype = 'private_message'
AND t.title <> 'WELCOME-TITLE-from-discobot'
AND p.created_at::date > now()::date - 8
AND p.raw ILIKE :term
ORDER BY p.created_at DESC
LIMIT :limit
متى تحتاجون إلى إنجازه؟
15 أغسطس
ما هو ميزانيتكم، بالدولار الأمريكي، التي يمكنكم تقديمها لهذه المهمة؟
50 دولارًا أمريكيًا
pfaffman
(Jay Pfaffman)
4 أغسطس 2020، 2:17م
2
ما الذي تعتقد أنه يبدو عليه رقم الهاتف؟
jrgong
(jrgong)
4 أغسطس 2020، 2:28م
5
بشكل أساسي، أي رقم أطول (أكثر من 9 أرقام) يبدأ بـ +49 أو 0… يجب تجاهل أي أحرف خاصة بين الأرقام.
pfaffman
(Jay Pfaffman)
4 أغسطس 2020، 2:53م
6
jrgong:
في الأساس
لحل مشكلتك، أحتاج إلى إجابة دقيقة حول ما تعتبره رقم هاتف، وليس “في الأساس”. حلها “في الأساس” يمثل مشكلة تتراوح تكلفتها بين 500 و5000 دولار.
إذن، أي شيء يبدأ بـ “+49” يتبعه 10 أرقام أو أكثر، ويمكن توزيع الرموز ~!@#$%^&*() بينها دون احتسابها؟
أنا متأكد تقريبًا أن هذا يمكن أن يُنفذ بالفعل باستخدام لوحة الإدارة، وسجلات المراقبة، وكلمات مراقَبة في وضع التعبير النمطي (regex). ستحتاج إلى الحذر الشديد جدًا في كيفية بناء ذلك التعبير النمطي.
pfaffman
(Jay Pfaffman)
5 أغسطس 2020، 12:58ص
8
كان من المفترض أن يكون ذلك جزءًا من حلّي، ولكن كما تقترح، فإن تحديد ما هو رقم الهاتف ليس بالأمر البسيط على الإطلاق.
jrgong
(jrgong)
5 أغسطس 2020، 8:52ص
9
شكرًا على المدخلات.
سنجربها بهذه الطريقة
يمكن إغلاق الموضوع
neounix
(Dark Matter)
5 أغسطس 2020، 8:58ص
10
إليك مثال واحد لـ REGEX لمطابقة أرقام الهواتف:
^[+]*[(]{0,1}[0-9]{1,4}[)]{0,1}[-\s\./0-9]*$
وإليك مثال آخر:
^(\+\d{1,2}\s)?\(?\d{3}\)?[\s.-]\d{3}[\s.-]\d{4}$
يمكنك التعديل عليها كما تشاء… يمكنك الاختبار باستخدام أداة اختبار REGEX عبر الإنترنت، وهناك العديد منها.
أتمنى أن يكون ذلك مفيدًا.
jrgong
(jrgong)
5 أغسطس 2020، 9:02ص
11
واو، أقدر ذلك، شكرًا!
سنقوم باختباره
neounix
(Dark Matter)
5 أغسطس 2020، 9:03ص
12
مرحبًا! @jrgong
إليك عينة لمختبر REGEX عبر الإنترنت لأحد هذه الأمثلة:
https://regexr.com/3c53v
يمكنك استخدام هذا الموقع، أو موقع مشابه، لاختبار تنسيقات الأرقام التي تهمك.
jrgong
(jrgong)
5 أغسطس 2020، 11:47ص
13
شكرًا لك
سؤال سريع فقط: كيف يمكنني ضبط التعبير النمطي لتجاهل الأرقام التي تتكون من 8 أرقام أو أقل؟