jQuery.validator.addMethod( "maxbytelength", function(value, element, param) { var txtbyte = bytelen(value); //alert("value["+value+"]txtbyte["+txtbyte+"]param"+param+"OK"); return this.optional(element) || txtbyte<=param; }, "{1}" ); function bytelen(s) { var r = 0; for (var i = 0; i < s.length; i++) { var c = s.charCodeAt(i); // Shift_JIS: 0x0 ~ 0x80, 0xa0 , 0xa1 ~ 0xdf , 0xfd ~ 0xff // Unicode : 0x0 ~ 0x80, 0xf8f0, 0xff61 ~ 0xff9f, 0xf8f1 ~ 0xf8f3 if ( (c >= 0x0 && c < 0x81) || (c == 0xf8f0) || (c >= 0xff61 && c < 0xffa0) || (c >= 0xf8f1 && c < 0xf8f4)) { r += 1; } else { r += 2; } } return r; } //JQuery Validator用のカスタムルール(禁止文字) jQuery.validator.addMethod( "specialchars", function(value, element) { var iChars = "!@#$%^&*()+=-[]\\';,./{}|\":<>?"; var flag = false; for (var i = 0; i < value.length; i++) { if (iChars.indexOf(value.charAt(i)) != -1) { flag = true; break; } } return this.optional(element) || !flag; }, "禁止文字[!@#$%^&*()+=-[]\\';,./{}|\":<>?]が入力されています。" ); //JQuery Validator用のカスタムルール(禁止文字)※ハイフン以外 jQuery.validator.addMethod( "specialcharsnothyphen", function(value, element) { var iChars = "!@#$%^&*()+=[]\\';,./{}|\":<>?"; var flag = false; for (var i = 0; i < value.length; i++) { if (iChars.indexOf(value.charAt(i)) != -1) { flag = true; break; } } return this.optional(element) || !flag; }, "禁止文字[!@#$%^&*()+=[]\\';,./{}|\":<>?]が入力されています。" ); //JQuery Validator用のカスタムルール(禁止文字)※フリカナ用(カンマ、ピリオド、ハイフン、括弧を対象外とした) jQuery.validator.addMethod( "specialcharsforkana", function(value, element) { var iChars = "!@#$%^&*+=[]\\';/{}|\":<>?"; var flag = false; for (var i = 0; i < value.length; i++) { if (iChars.indexOf(value.charAt(i)) != -1) { flag = true; break; } } return this.optional(element) || !flag; }, "禁止文字[!@#$%^&*+=[]\\';/{}|\":<>?]が入力されています。" ); //JQuery Validator用のカスタムルール(フリカナ) jQuery.validator.addMethod( "namekana", function(value, element) { var flag = false; for (var i = 0; i < value.length; i++) { if (charIsKana(value.charCodeAt(i), value.charAt(i)) != true ) { flag = true; break; } } return this.optional(element) || !flag; }, "全角カタカナ以外の文字が入力されています。" ); //JQuery Validator用のカスタムルール(全角) jQuery.validator.addMethod( "zenkaku", function(value, element) { var flag = false; for (var i = 0; i < value.length; i++) { if (charIsHankaku(value.charAt(i)) == true ) { flag = true; break; } } return this.optional(element) || !flag; }, "全角文字以外の文字が入力されています。" ); //JQuery Validator用のカスタムルール(全角) jQuery.validator.addMethod( "hankaku", function(value, element) { var flag = false; for (var i = 0; i < value.length; i++) { if (charIsHankaku(value.charAt(i)) != true ) { flag = true; break; } } return this.optional(element) || !flag; }, "半角文字以外の文字が入力されています。" ); //1文字が半角か? function charIsHankaku(chara) { var c=chara.charCodeAt(0); if ( (c >= 0x0 && c < 0x81) || (c == 0xf8f0) || (c >= 0xff61 && c < 0xffa0) || (c >= 0xf8f1 && c < 0xf8f4)) { return true; } return false; } //1文字がフリガナを満たすか? function charIsKana(c, value) { // 指定文字なら「満たす」 var reg = new RegExp("[0-9ァ-ヶー、。.()]"); //var reg = new RegExp("[0-9ぁ-んァ-ヶa-zA-Zー、。.()]"); return reg.test(value); } jQuery.validator.addMethod( "intnumber", function(value, element) { var flag = value.match(/^[0-9]+$/); return this.optional(element) || flag; }, "整数以外の文字が入力されています。" ); function getWareki(y) { if (y > 1988) { return "(平成"+(y-1988)+")"; } else if (y > 1925) { return "(昭和"+(y-1925)+")"; } else if (y > 1911) { return "(大正"+(y-1911)+")"; } else if (y > 1867) { return "(明治"+(y-1867)+")"; } return ""; }