標籤:func floor manual class begin char 查看 java fse
* 查看php.net官方手冊
string str_pad ( string $input , int $pad_length [, string $pad_string = " " [, int $pad_type = STR_PAD_RIGHT ]] )
* javascript code
/** * Pad a string to a certain length with another string */var STR_PAD_LEFT = 1,STR_PAD_RIGHT = 1<<1,STR_PAD_BOTH = STR_PAD_LEFT|STR_PAD_RIGHT;function str_pad(input, pad_length, pad_string, pad_type) { var input = typeof input === "string" ? input : String.valueOf()(input); var i, j; var n = pad_length - input.length; if (n <= 0) return input; var s = pad_string || " ", offset = s.length, p = ""; // 要填充的字串(可能會重複); switch (pad_type) { case STR_PAD_BOTH: var q=""; for (i = 0, j=0; 0 < n; n--, i = (i+1) % s.length, j++) { // 先在右邊添加 後再左邊添加 if (Math.floor(j / s.length) % 2 === 0) { q += s.charAt(i); } else { p += s.charAt(i); } } input = p + input + q; break; case STR_PAD_LEFT: for (i = 0; 0 < n; n--, i = (i+1) % s.length) { p += s.charAt(i); } input = p + input; break; case STR_PAD_RIGHT: default: for (i = 0; 0 < n; n--, i = (i+1) % s.length) { p += s.charAt(i); } input = input + p; } return input;}
* test
// testfunction echo(s) {console.log("\"" +s + "\"");}var $input = "Alien";echo (str_pad($input, 10)); // produces "Alien "echo (str_pad($input, 10, "-=", STR_PAD_LEFT)); // produces "-=-=-Alien"echo (str_pad($input, 10, "_", STR_PAD_BOTH)); // produces "__Alien___"echo (str_pad($input, 6, "___")); // produces "Alien_"echo (str_pad($input, 3, "*")); // produces "Alien" /*function substr(s, begin, end) {var ns = "", end = end || s.length;for (var i = begin; i < end; i++) {ns += s.charAt(i);}return ns;}*/
* Run:
javascript 實現php str_pad