คัดลอกรหัสรหัสดังต่อไปนี้:
ฟังก์ชั่น validateNum (obj) {
// จำนวนเต็มบวก (ใช้แคชที่นี่)
หมายเลข var = obj.data(ตรวจสอบ).number;
// จุดทศนิยม (ใช้แคชที่นี่)
var decimal = obj.data(ตรวจสอบ).decimal;
// ความสม่ำเสมอในการตรวจสอบพื้นฐานแบบไดนามิก
eval("var reg = /^[0-9]{0," + number + "}([.]?[0-9]{0," + ทศนิยม + "})$" + "/g;" );
ค่า var = obj.val();
var maxnumlen = ตัวเลข + ทศนิยม + 1; // ความยาวสูงสุด + 1 (จุดทศนิยม)
ถ้า (!reg.test(obj.val())) กลับเท็จ;
//ความยาวสูงสุดเท่ากับความยาวของค่าปัจจุบันและค่าไม่มี "."
ถ้า (maxnumlen == value.length && value.indexOf('.') <= 0) {
กลับเท็จ;
-
//ลองรับดัชนีของ "."
var valueindexof = value.indexOf('.');
ถ้า (valueindexof > 0) {
//หากบิตหลังดัชนี "." ว่างเปล่า ก็จะคืนค่าเท็จอย่างแน่นอน
ถ้า (value.charAt(valueindexof + 1) == "") {
กลับเท็จ;
-
-
//แบ่งค่าเพื่อให้กำหนดเนื้อหาก่อนและหลังได้อย่างง่ายดาย
varvaluesplit = value.split('.');
//หากความยาวของค่ามากกว่าความยาวจำนวนเต็มบวกที่กำหนด
ถ้า (value.length > จำนวน) {
ถ้า (ค่าความยาวแยก == 1) {
กลับเท็จ;
-
//ความยาวสูงสุด - ความยาวที่กำหนดยาวกว่าความยาวสูงสุด เท็จ
ถ้า (maxnumlen - จำนวน >= maxnumlen) {
กลับเท็จ;
-
-
กลับเป็นจริง;
-
หลังจากแคชวัตถุตรวจสอบความถูกต้องสำหรับองค์ประกอบแล้ว เพียงแค่เรียกมัน
คำนิยาม:
$("#example").data("validate", { หมายเลข: 2, ทศนิยม: 2 });
เรียก:
validateNum($("#ตัวอย่าง));