在我的文本字段中,我支持各种语言(英语,印地语,泰米尔语等)的输入。当字符串长度大于输入字段时,我想在文本中心显示椭圆。示例:椭圆...嘴唇
我做了一个工作示例
<html>
<body>
<table><tr><td>
<div id="x"></div>
</td></tr></table>
<br/>
<textarea id="t" onkeyup="foo(100)"></textarea>
<br/>
<script>
function foo(maxSize){
var x = document.getElementById("x");
var t = document.getElementById("t");
var tamil = /[u0300-u036fu1dc0-u1dffu20d0-u20ffufe20-ufe2fu0b82u0b83u0bbeu0bbfu0bc0-u0bc2u0bc6-u0bc8u0bca-u0bcdu0bd7]/g
var hindi = /[u901u902u903u93cu93eu93fu940u941u942u943u944u945u946u947u948u949u94au94bu94cu94du951u952u953u954u962u963]/g
var pos = 0;
for(var i=0; i<2; i++){
pos++;
while(pos<t.value.length && (t.value.charAt(t.value.length-pos)+"").match(tamil)){
pos++;
}
while(pos<t.value.length && (t.value.charAt(t.value.length-pos)+"").match(hindi)){
pos++;
}
}
var y = t.value.substr(0,t.value.length-pos);
var ending = t.value.substr(y.length,t.value.length);
x.innerHTML = y + ending;
while(x.offsetWidth>maxSize && y.length>1){
pos = 1;
while(pos<y.length-2 && (y.charAt(y.length-pos-1)+"").match(tamil)){
pos++;
}
while(pos<y.length-2 && (y.charAt(y.length-pos-1)+"").match(hindi)){
pos++;
}
y = y.substr(0,y.length-pos);
x.innerHTML = y + "..." + ending;
}
};
</script>
</body>
</html>
将文本输入到文本方面,结果显示在Div上。标签表使DIV不如身体宽。
印地语从这里梳理字符
泰米尔语中的泰米尔梳子