글자 너비를 반각 18자까지 확장
This commit is contained in:
@@ -23,6 +23,59 @@ var escapeHtml = (function (string) {
|
||||
}
|
||||
})();
|
||||
|
||||
;(function(ns){
|
||||
//https://gist.github.com/demouth/3217440
|
||||
/**
|
||||
* mb_strwidth
|
||||
* @param String
|
||||
* @return int
|
||||
* @see http://php.net/manual/ja/function.mb-strwidth.php
|
||||
*/
|
||||
var mb_strwidth = function(str){
|
||||
var i=0,l=str.length,c='',length=0;
|
||||
for(;i<l;i++){
|
||||
c=str.charCodeAt(i);
|
||||
if(0x0000<=c&&c<=0x0019){
|
||||
length += 0;
|
||||
}else if(0x0020<=c&&c<=0x1FFF){
|
||||
length += 1;
|
||||
}else if(0x2000<=c&&c<=0xFF60){
|
||||
length += 2;
|
||||
}else if(0xFF61<=c&&c<=0xFF9F){
|
||||
length += 1;
|
||||
}else if(0xFFA0<=c){
|
||||
length += 2;
|
||||
}
|
||||
}
|
||||
return length;
|
||||
};
|
||||
|
||||
/**
|
||||
* mb_strimwidth
|
||||
* @param String
|
||||
* @param int
|
||||
* @param int
|
||||
* @param String
|
||||
* @return String
|
||||
* @see http://www.php.net/manual/ja/function.mb-strimwidth.php
|
||||
*/
|
||||
var mb_strimwidth = function(str,start,width,trimmarker){
|
||||
if(typeof trimmarker === 'undefined') trimmarker='';
|
||||
var trimmakerWidth = mb_strwidth(trimmarker),i=start,l=str.length,trimmedLength=0,trimmedStr='';
|
||||
for(;i<l;i++){
|
||||
var charCode=str.charCodeAt(i),c=str.charAt(i),charWidth=mb_strwidth(c),next=str.charAt(i+1),nextWidth=mb_strwidth(next);
|
||||
trimmedLength += charWidth;
|
||||
trimmedStr += c;
|
||||
if(trimmedLength+trimmakerWidth+nextWidth>width){
|
||||
trimmedStr += trimmarker;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return trimmedStr;
|
||||
};
|
||||
ns.mb_strwidth = mb_strwidth;
|
||||
ns.mb_strimwidth = mb_strimwidth;
|
||||
})(window);
|
||||
|
||||
/**
|
||||
* object의 array를 id를 key로 삼는 object로 재 변환
|
||||
|
||||
+8
-1
@@ -42,6 +42,13 @@ function changeInstallMode(){
|
||||
}
|
||||
|
||||
$(document).ready( function () {
|
||||
jQuery.validator.addMethod("minwidth", function(value, element, params) {
|
||||
return this.optional(element) || mb_strwidth(value) >= params;
|
||||
}, "글자 너비가 알파벳 {0} 자보다 길어야합니다");
|
||||
jQuery.validator.addMethod("maxwidth", function(value, element, params) {
|
||||
return this.optional(element) || mb_strwidth(value) <= params;
|
||||
}, "글자 너비가 알파벳 {0} 자보다 짧아야합니다");
|
||||
|
||||
changeInstallMode();
|
||||
var parentPathname = location.pathname.split('/').slice(0,-2).join('/');
|
||||
$('#serv_host').val(
|
||||
@@ -133,7 +140,7 @@ $(document).ready( function () {
|
||||
},
|
||||
nickname:{
|
||||
required: true,
|
||||
maxlength: 9,
|
||||
maxwidth: 18,
|
||||
}
|
||||
},
|
||||
messages: {
|
||||
|
||||
+7
-1
@@ -1,4 +1,10 @@
|
||||
$(document).ready( function () {
|
||||
jQuery.validator.addMethod("minwidth", function(value, element, params) {
|
||||
return this.optional(element) || mb_strwidth(value) >= params;
|
||||
}, "글자 너비가 알파벳 {0} 자보다 길어야합니다");
|
||||
jQuery.validator.addMethod("maxwidth", function(value, element, params) {
|
||||
return this.optional(element) || mb_strwidth(value) <= params;
|
||||
}, "글자 너비가 알파벳 {0} 자보다 짧아야합니다");
|
||||
$( "#main_form" ).validate( {
|
||||
rules: {
|
||||
username: {
|
||||
@@ -28,7 +34,7 @@ $(document).ready( function () {
|
||||
},
|
||||
nickname:{
|
||||
required: true,
|
||||
maxlength: 9,
|
||||
maxwidth: 18,
|
||||
remote: {
|
||||
url: "j_check_dup.php",
|
||||
type: "post",
|
||||
|
||||
Reference in New Issue
Block a user