<span style = "font-family: arial ، helvetica ، sans-serif ؛ background-color: rgb (255 ، 255 ، 255) ؛"> بالأمس ، أبلغ بحث المشروع عن خطأ. كان الألم من مكتبة الإنتاج. نظرت إلى السجل لأن المستخدم أدخل أحرفًا خاصة عند البحث. لا توجد طريقة للحصول على أسرع طريقة لتصفية البيانات التي أدخلها المستخدم مباشرة وإزالة الأحرف الخاصة </span>
يتم تمرير بعض الشخصيات الخاصة إلى الخلفية وستنتج أخطاء. قد يتم حقنه في SQL ، لذلك يتم اعتراضه بشكل أساسي.
دعنا نناقش الطريقة التي تحظر بها الإدخال المدخلات من إدخال أحرف خاصة:
الطريقة 1: بعد الحصول على قيمة القيمة ، قم بمعالجةها قبل تمريرها
دالة Stripscript (value) {var pattern = new regexp ("[` ~!@#$^&*() = | {} ': ؛' ، // [//]. <>/؟ ~!@#¥ ... &*() - | {} 【】 '؛ RS+S.Substr (I ، 1) .replace (نمط ، '') ؛فقط استدعاء هذه الوظيفة مباشرة.
الطريقة 2: الطريقة الأساسية هي مطالبة المستخدم بعدم تمكنه من إدخال أحرف خاصة
وظيفة showkeypress (evt) {evt = (evt)؟ evt: window.EventReturn checkspecifickey (evt.keycode) ؛} دالة checkspecifickey (keycode) {var specialKey = "[` ~!#$^&*() = | {} ': ؛' ، // [//]. <>/؟ listvar realKey = string.fromcharcode (keycode) ؛ var flg = false ؛ flg = (specialKey.Indexof (realKey)> = 0) ؛ if (flg) {// alert ('يرجى عدم إدخال أحرف خاصة:' + realKey) ؛ إرجاع false ؛استخدام: لا تستجيب إضافة أحداث على التحكم في المدخلات على الإطلاق
يبدو أنها مشكلة صغيرة. لا يوجد استجابة في الدولة الصينية. لا أعرف ما الذي يحدث ، لذلك وجدت واحدة أخرى.
الطريقة 3: بعد الحصول على حدث OnKeyup ، فإنه يطابقه مشابهًا للطريقة.
دالة validateValue (textbox) {var infullstring = "[` ~!#$^&*() = | {} ': ؛' ، // [//]. <>/؟ ~! textbox.value.charat (index) ؛ if (infullalstring.indexof (s)> = 0) {s = textboxvalue.substring (0 ، index) ؛ textbox.value = s ؛}}استخدام: onKeyup = "ValidateValue (this)" سوف يختفي مباشرة بعد الدخول. يمكن للمستخدم أن يرى أن ما أدخلته هو مجرد قول أنه سيختفي بعد الدخول. العيب هو أن المدخلات المستمرة لن تختفي (امسكها)
الطريقة التالية الأكثر روعة لتحييد ما سبق
الطريقة 4: استخدمه مباشرة على عنصر التحكم
// <input/[/w]/g ، '') "/[^/d]/g ، ''))"> // يمكن لمربع إدخال التحكم إدخال النص أو الأرقام فقط ، ولا يمكن السماح بأحرف خاصة بإدخال الأحرف التالية هنا: (مثل!@#$ ٪^&*، إلخ) <br>
يمكن لمستخدمي الطريقة أن يروا أن الإدخال سيختفي على الفور. وينطبق الشيء نفسه على الطريقة الثالثة ، لكن الإدخال المستمر صالح.
دعنا نلقي نظرة على JS التالية لتحديد أن الأحرف التي تم إدخالها لا يمكن أن تكون أحرفًا خاصة:
1. حدث المستند. يتم تنفيذ المراسلات showkeypress أثناء التحقق. عند العودة بشكل صحيح ، يمكن إدخاله ، ولا يمكن إدخال خطأ.
2. EVT = (EVT)؟ EVT: Window.Event ، سيقوم الضغط على لوحة المفاتيح بإنشاء هذا الحدث للحصول على القيمة التي كتبتها (هو رمز المفاتيح لوحة المفاتيح).
var realKey = string.fromcharcode (keycode) ؛
تتمثل طريقة string.fromcharcode () في تحويل قيمة لوحة المفاتيح (رمز المفاتيح) إلى القيمة التي تقوم بإدخالها بالفعل.
3. Method SpecialKey.Indexof (RealKey):
.indexof () هي طريقة سلسلة. تبحث طريقة indexof () في السلسلة ما إذا كانت سلسلة تم تمريرها كمعلمة تظهر على السلسلة. إذا تم العثور على سلسلة ، فإنها تُرجع موضع البداية للشخصية (0 يعني الحرف الأول ، 1 يعني الحرف الثاني وما إلى ذلك). إذا لم يتم العثور عليه ، فإنه يعود -1
4. var SpecialKey = "#$ ٪/^*/'/"/+"؛
فيما يلي سلاسل مع أحرف الهروب ، #، $ ، ٪ ، ^، *، "، + هي رموز خاصة ، وتلك التي لديها / قبل الابتعاد.
إذا كنت ترغب في إضافة رموز خاصة الإدخال المقيدة في مربع النص ، فاستخدم <type = "text" id = "name" onKeyPress = "ShowKeypress ()">
ما ورد أعلاه هي الطرق الأربع لتنفيذ المدخلات التي تحظر على المدخلات من إدخال أحرف خاصة. آمل أن يكون ذلك مفيدًا لك. إذا كان لديك أي أسئلة ، فيرجى ترك رسالة لي وسوف يرد المحرر إليك في الوقت المناسب. شكرا جزيلا لدعمكم لموقع wulin.com!