台灣最大程式設計社群網站
線上人數
685
 
會員總數:244893
討論主題:188887
歡迎您免費加入會員
討論區列表 >> AJAX / JSON / jQuery >> 請問怎麼每30個字換行
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
請問怎麼每30個字換行
價值 : 50 QP  點閱數:492 回應數:2

樓主

ALICE
門外漢
0 12
140 11
發送站內信

環境:JQuery
需求:TEXTAREA輸入文字時,每行超過30個字自動幫他換行(要有換行字元),也就是每行頭尾能夠對齊。
問題:當一行中全是中文字沒問題,若是中間夾雜中、英、數或符號字元時,每行會無法頭尾對齊。
錯誤範例:
中文中文中文中文中文中文中文中文中文中文中文中文中文中文中文
$1234,5元中中文文中中文文中中文文中中文文中中文文中中
文文
<想要範例>:
中文中文中文中文中文中文中文中文中文中文中文中文中文中文中文
$1234,5元中中文文中中文文中中文文中中文文中中文文中中文文文文
-----我的程式碼如下----
<textarea NAME="Subject" ID="Subject" onkeyup="ValidateSubject(this)">
</textarea>
function ValidateSubject(control) {
var curpos =doGetCaretPosition(document.getElementById("Subject"));
var limit = 30;
var v = control.value;
var reg =/(\r\n|\n|\r)/;
var lines = v.split(reg);
var newtext = "";
for (var i = 0; i < lines.length ; i++) {
var line = lines[i];
var tmptext = "";
if(line.length > limit) {
for (var j=i+1 ; j < lines.length ; j++){
if ( lines[j].replace(reg,"") !='' )
{
tmptext= line.substr(limit,line.length-limit)+lines[j];
lines[j]=tmptext;
break;
}
}
if (tmptext!="")
{
line = line.substr(0,limit)+"\r";
}
else
{
line = line.substr(0,limit)+"\r"+line.substr(limit,line.length-limit);
}
}
newtext += line;
}
control.value = newtext;
}



搜尋相關Tags的文章: [ jquery ] , [ 每30個字換行 ] , [ textarea ] ,
本篇文章發表於2017-07-01 11:16
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
回應

小魚
檢舉此回應
頭尾對齊應該是CSS的這個

text-align:justify;

有點像Word裡面的左右對齊
本篇文章回覆於2017-07-01 12:38
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
回應

四百龍銀
檢舉此回應
你應該由CSS去進行文字對齊的設定
建議考慮一下RWD
本篇文章回覆於2017-07-04 13:23
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.