مقدمة
عند تطوير مشاريع الويب ، من المحتم مواجهة معالجة مختلفة لبيانات صفحة الويب ، مثل التحقق من رقم الهاتف وعنوان البريد الإلكتروني والكمية ورقم المعرف وطول كلمة المرور والتعقيد الذي أدخله المستخدم في النموذج ، والعودة إلى الخلفية
تنسيق البيانات مثل المبلغ ، والقيمة التي تم إرجاعها فارغة ، وهناك أيضًا حساب ليوم أو شهر معين قبل أو بعد التاريخ المحدد.
فيما يلي بعض من JS شائع الاستخدام في عملك الذي قمت بتلخيصه. إذا كنت في حاجة إليها ، يمكنك الرجوع إليها وتعلمها.
/** * تحقق من تعقيد كلمة المرور (يجب أن يحتوي على أحرف رقمية) * param str * returns صحيح: يرضي القاعدة ، خطأ: غير راضٍ */وظيفة ValityAtestr (str) {var reg1 =/^([[0-9] {1 ،}) ([az] {1 ،})) var reg2 = /^(([0-9] {1 ،}) ([az] {1 ،})) | (([az] {1 ،}) ([0-9] {1 ،})) $ /؛ // var reg3 =/^(Budapa-za-z/2010،) budap0-9a-zaz {} budap ~ `int str = valuetrim (str) ؛ //if(reg3.test(str)) {// return true ؛ //} if (reg1.test (str)) {return true ؛ } if (reg2.test (str)) {return true ؛ } إرجاع خطأ ؛ } / *** يتم الحكم على أن طول السلسلة يجب أن يكون أكبر من 8 بت وأقل من 20 بت ، والذي يتم استخدامه عمومًا لكلمات المرور* param str string* returns إذا كانت إرجاع إرجاع صحيح* / وظيفة ValidateLength (str) {if (str == null || str == ') {return false ؛ } str = valuetrim (str) ؛ if (parsefloat (str.length) <8) {return true */ function facalateLength (str) {if (str == null || str == '') {return false ؛ } str = valuetrim (str) ؛ if (parsefloat (str.length) <8) {return true */ function facalateLength (str) {if (str == null || str == '') {return false ؛ } str = valuetrim (str) ؛ if (parsefloat (str.length) <8) {return false ؛ } if (parsefloat (str.length)> 20) {return false ؛ } إعادة صواب ؛ } / ** * وقت التحقق * param datavalue التنسيق هو: yyyy-mm-dd * returns تُرجع المباراة بشكل صحيح إذا لم تتطابق المباراة على إرجاع false * / function vaction (dateValue) {var result = datevalue.match (/((^((1 [8-9]/d {2}) | ([2-9]/d {3})) (-) (10 | 12 | 0؟ [13578]) ( -) (3 [01] | [12] [0-9] | 0؟ [1-9]) $) | (^(1 [8-9]/d {2}) | ([2-9]/d {3})) (-) (11 | 0؟ [469]) (-) (30 | [12] [0-9] | 0؟ [1-9]) $) | (^(1 [8-9]/d {2}) [2468] [048] 00) (-) (0؟ 2) (-) (29) $) | (^([2468] [048] 00) (-) (0؟ 2) (-) (29) $) | (^([2468] [048] 00) (-) (2) (-) (29) $) | ([3579] [26] 00) (-) (0؟ 2) (-) (29) $) | (^([1] [89] [0] [48]) (-) (0؟ 2) (-) (29) $) | ( ^([[2-9] [0-9] [0] [48]) (-) (0؟ 2) (-) (29) $) | (^([1] [89] [2468] [048]) (-) (0؟ 2) ( -) (29) $) | (^([2-9] [0-9] [2468] [048]) (-) (0؟ 2) (-) (29) $) | (^([1] [89] [13579] [26]) (-) (0؟ 2) (-) (29) $) | (^([2-9] [0-9] [13579] [26]) (-) (0؟ 2) (-) (29) $))/) ؛ if (result == null) {return false ؛ } إعادة صواب ؛ } / *** تحقق من رقم الهاتف* param phonevalue رقم الهاتف المراد التحقق منه* @إعادة إرجاع المباراة بشكل صحيح إذا كان عدم التطابق يرجع false* / function vialityphone (phonevalue) {phonevalue = valuetrim (phonevalue) ؛ var reg = /^[1] [0-9] {10} $ /؛ إرجاع reg.test (phonevalue) ؛ }/***تحقق من البريد الإلكتروني*param emailValue على البريد الإلكتروني ليتم التحقق منه*return يرجع المباراة بشكل صحيح إذا كان عدم التطابق يرجع false*/function validateemail (emailValue) {var reg = /^/w+(20. إرجاع reg.test (البريد الإلكتروني) ؛ } /*** حدد ما إذا كان رقمًا* param numbervalue البيانات المراد التحقق منها* @إعادة إرجاع المطابقة بشكل صحيح إذا كانت المطابقة لا تتطابق مع إرجاع false* /function isNumber (numberValue) {// تحديد جزء التعبير العادي var reg1 = /^[0-9] {0 ،} $ /؛ var reg2 = /^[1-9] {1} [0-9] {0 ،} $ /؛ // ALERT (NumberValue) ؛ if (numberValue == null || numberValue.length == 0) {return false ؛ } numberValue = valuetrim (numberValue) ؛ // القاضي عندما يكون الرقم فقط 1 بت إذا (numbervalue.length <2) {return reg1.test (numberValue) ؛ } return reg2.test (numberValue) ؛؛ } / **** المبلغ* param value* @returns* / function IsMoney (value) {if (value == '') {return false ؛ } value = valuetrim (value) ؛ value = value.replace (/(^/s*) | (/s*$)/g ، "") ؛ var reg = /^ budap0-9/201**/.؟ budap0-9/910-0،2)/؛ if (isNumber (value)) {return true ؛ } if (value.length> 3) {if (value.substr (0 ، 1) == "0") {if (value.substr (3 ، value.length) .length> 2) {return false ؛ }}} return reg.test (value) ؛ } / **** حدد ما إذا كان رقمًا بين 0 و 100* param value* @returns* / function iszerotoone (value) {if (value == ') {return false ؛ } value = valuetrim (value) ؛ if (isMyFloat (value)) {if (parsefloat (value) <100 && parsefloat (value)> 0) {return true ؛ }} إرجاع خطأ ؛ } / *** تحقق مما إذا كان رقم نقطة عائم* param floatvalue يتم التحقق من البيانات* @إعادة المباراة بشكل صحيح إذا كان عدم التطابق يعيد خطأ* / وظيفة isMyfloat (floatvalue) {if (floatvalue == '') {return false ؛ } floatvalue = valuetrim (floatvalue) ؛ var reg = /^(/d+)(/./d+) $/ ؛ if (isNumber (floatvalue)) {return true ؛ } if (floatvalue.length> 3) {if (floatvalue.substr (0 ، 1) == "0") {if (floatvalue.substr (0 ، 2)! = "0.") {return false ؛ }}} return reg.test (floatvalue) ؛ }/*** حدد ما إذا كان هناك حرف صيني* @param charvalue يتم التحقق منه* regurns يعيد المطابقة بشكل صحيح إذا لم تتطابق مطابقة عوائد*/وظيفة Ischaracter (charvalue) {var reg =/^[/u4e00-/u9fa5] {0 ،} $/؛ Return Reg.Test (Charvalue) ؛ }/*** تحقق من رقم الخط الأرضي* param telvalue رقم الخط الأرضي المراد التحقق منه* returns يعيد المباراة بشكل صحيح إذا كان عدم التطابق يرجع false*/function facalatetel (telvalue) {var reg =/^(/(/d {3،4}/) |/d {3،4}-)؟ telvalue = valuetrim (telvalue) ؛ if (! reg.test (telvalue)) {return false ؛ } إعادة صواب ؛ } var wi = [7 ، 9 ، 10 ، 5 ، 8 ، 4 ، 2 ، 1 ، 6 ، 3 ، 7 ، 9 ، 10 ، 5 ، 8 ، 4 ، 2 ، 1 ، 6 ، 3 ، 7 ، 9 ، 10 ، 5 ، 4 ، 4 ، 2 ، 2 ، 2 ، 2 ، 2 ، 2 ، 2 ، 2 ، 2 ، 2 ، 2 ، 2 ، 2 ، 2 ، 2 ، 2 ، 2 ، 2 ، 2 ، 2 ، 2 ، 2 ، 2 ، 2 ، 2 ، 2 ، 2 ، 2 ، 2 ، 2 ، 2 ، 2 ، 2 ، 2 ، 2 ، 2 ، 2 ، 2 ، 2 ، 2 ، 2 ، 2 ، 2 ، 2 ، 2 ، 2 ، 2 ، 2 ، 2 ، 2 ، 2 ، 2 ، 2 ، 2 ، 2 ، 2 ، 2 ، 2 ، 2 ، 2 ، 2 ، 2 ، 2 ، 2 ، 2 ، 1] ؛ // عامل الترجيح var valideCode = [1 ، 0 ، 10 ، 9 ، 8 ، 7 ، 6 ، 5 ، 4 ، 3 ، 2] ؛ // قيمة بت التحقق من بطاقة المعرف ، تمثل 10 "") ؛ if (idcardvalue.length == 15) {// تحقق من إرجاع بطاقة الهوية 15-bit isValidityBrithBrithby15Idcard (idcardvalue) ؛ } آخر إذا (idcardvalue.length == 18) {// الحصول على صفيف بطاقة المعرف var a_idcard = idcardvalue.split ("") ؛ // أداء التحقق الأساسي لبطاقة هوية 18 بت والتحقق من 18 بت إذا (isValidityBrithBrithby18Idcard (idcardvalue) && isTrueValidateCodeBy18Idcard (a_idcard)) {return true ؛ } آخر {return false ؛ }} آخر {return false ؛ }} / *** حدد ما إذا كان بت التحقق الأخير صحيحًا عندما يكون رقم بطاقة الهوية 18 بت* param a_idcard رقم معرف* @RETURN* / function ISTRUEVALIDATECODEBY18IDCARD (A_IDCARD) {var sum = 0 ؛ // إعلان متغير المبلغ المرجح إذا (a_idcard [17] .ToLowerCase () == 'x') {a_idcard [17] = 10 ؛ 11 ؛ . } آخر {return false ؛ }} / *** تحقق مما إذا كان عيد ميلاد في رقم بطاقة الهوية المكون من 18 رقماً هو عيد ميلاد صالح* param idcard سلسلة معرف الكتب المكونة من 18 رقما* @renturn* / function isValidityBrithbrithbrithbrith18Idcard (idcard18) {var year = idcard18.substring (6،10) ؛ var month = idcard18.SubString (10،12) ؛ var day = idcard18.SubString (12،14) ؛ var temp_date = تاريخ جديد (السنة ، parsefloat (شهر) -1 ، parsefloat (day)) ؛ // استخدم getlyear () هنا للحصول على العام لتجنب مشكلة أخطاء الألفية إذا (temp_date.getlyear ()! = parsefloat (السنة) || temp_date.getmonth ()! = parsefloat (month) -1 || temp_date.getdate ()! = parsefloat (day)) {return false ؛ } آخر {return true ؛ }} / *** تحقق مما إذا كان عيد ميلاد في رقم بطاقة الهوية المكون من 15 رقماً هو عيد ميلاد صالح* param idcard15 من 15 درجة معرف الكتب* @REGINT* / وظيفة isValidityBrithbrithbrithbrithbrith15Idcard (idcard15) {var year = idcard15.substring (6،8) ؛ var month = idcard15.substring (8،10) ؛ var day = idcard15.substring (10،12) ؛ var temp_date = تاريخ جديد (السنة ، parsefloat (شهر) -1 ، parsefloat (day)) ؛ // لعمرك في بطاقة الهوية القديمة الخاصة بك ، لا تحتاج إلى النظر في مشكلة أخطاء الألفية واستخدام طريقة getyear () إذا (temp_date.getyear ()! = parsefloat (السنة) || temp_date.getmonth ()! = parsefloat (month) -1 || temp_date.getdate ()! = parsefloat (day)) } آخر {return true ؛ }} // قم بإزالة دالة مسافات رأس السلسلة ومساحات الذيل Valuetrim (str) {return str.replace (/(^/s*) | (/s*$)/g ، "") ؛ } / ** * تحقق من رقم المعرف المكون من 18 رقماً (لا يمكن للرقم المكون من 15 رقمًا سوى اكتشاف ما إذا كان عيد الميلاد صحيحًا ، وحله بنفسك) 5 ، 8 ، 4 ، 2] ؛ // عامل الترجيح var arrvalid = [1 ، 0 ، "x" ، 9 ، 8 ، 7 ، 6 ، 5 ، 4 ، 3 ، 2] ؛ // code var reg = /^[1-9]/d {5} [1-9]/d {3} ((0/d) | (1 [0-2])) ([0 | 1 | 2]/d) | 3 [0-1])/d {3} ([0-9] | x) $/؛ if (reg.test (cid)) {var sum = 0 ، idx ؛ لـ (var i = 0 ؛ i <cid.length - 1 ؛ i ++) {// مجموع مجموع الأرقام والأوزان الـ 17 الأولى+= parseint (cid.substr (i ، 1) ، 10) * arrexp [i] ؛ } // حساب المعامل (خوارزمية ثابتة) idx = sum ٪ 11 ؛ // تحقق مما إذا كان الثامن عشر مساوياً لإرجاع رمز الشيك Arvalid [idx] == cid.substr (17 ، 1) .ToupperCase () ؛ } آخر {return false ؛ }} / ** * احصل على اليوم قبل أو بعد التاريخ المحدد * * param daycount * هو الرقم الإيجابي هو الوقت المستقبلي ، والرقم السلبي هو الوقت السابق ، مثل: 1 يتم التعبير عنه كغد ، -1 هو الأمس * * var dd = new date () ؛ if (dates == "") {dd = new date () ؛ } آخر {dd = تاريخ جديد (التواريخ) ؛ } var datenumber = dd.getTime () + dateTime ؛ var newdate = تاريخ جديد (datenumber) ؛ var y = newDate.getlyear () ؛ var m = newDate.getMonth () + 1 ؛ // احصل على تاريخ الشهر الحالي var d = newDate.getDate () ؛ if (m <10) {m = "0" + m ؛ } if (d <10) {d = "0" + d ؛ } return y + "-" + m + "-" + d ؛ } / ** * احصل على الشهر قبل أو بعد الشهر المحدد * * param daycount * هو الرقم الإيجابي هو الشهر التالي ، والرقم السلبي هو الشهر السابق ، مثل: 1 هو الشهر التالي ، -1 هو الشهر السابق * * / وظيفة getMonthStr (التواريخ ، monthcount) {var dd = new date () ؛ if (dates == "") {dd = new date () ؛ } آخر {dd = تاريخ جديد (التواريخ) ؛ } var y = dd.getlyear () ؛ var m = dd.getMonth () + 1 ؛ // احصل على تاريخ الشهر الحالي m = m + monthCount ؛ if (m == 0) {m = "12" ؛ y = y - 1 ؛ } آخر إذا (m <10) {m = "0" + m ؛ } آخر إذا (m> 12) {m = m - 12 ؛ m = "0" + m ؛ y = y + 1 ؛ } return y + "-" + m ؛ } / *** return "" for val vale غير محدد ، وإلا قم بإرجاع القيمة الأصلية* / function dealnull (val) {if (typeof (val) == "undefined") {return "" ؛ } آخر {return val ؛ }}لخص
ما سبق هو أكثر معلومات التحقق من JS ومعالجة البيانات التي تم تجميعها للجميع ، وهو أمر مفيد للغاية للعمل اليومي للجميع. يوصى بجمعه لسهولة المراجعة في المستقبل. شكرا لدعمكم ل wulin.com.