`
sw1982
  • 浏览: 511429 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

textarea里面length的故事。。

阅读更多
<script type="text/javascript">
function verification() {
	var sf = document.getElementById("operatorDesc").value;
	alert(sf.length);
}
</script>

<textarea name="operatorDesc" id="operatorDesc"></textarea>

<input type="button" onclick="verification()" value="取长度"/>
</body>

在textarea里面输入一些中英结合的句子,其长度如下:

 f  -----1 ,

 f飞-----2,

飞飞----2.

即length函数将中文字符视为一个单位。 这里其实我的本意是中文按2个字符长度来计算,于是就出现了偏差。

 

下午请教了下前端的同事,给出一个精妙的解决方案,呵呵:

String.prototype.cLen = function(){
	return this.replace(/[\u00FF-\uFFFF]/g,"  ").length;
};
 

同样,在java代码里面,一样可以无损的切割中英文混合字符: (简单的利用char 255作为标尺)

public class Test111 {

	public static void main(String[] args) {
		final String s1 = "中yin文";
		final String s2 = "中ying文";
		final String s3 = "yin中";
		final String s4 = "中yin";
		final String s5 = "中英文";
		final String s6 = "中英文字";
		System.out.println(cut(s1) + " 字串长度为: " + s1.length());
		System.out.println(cut(s2) + " 字串长度为: "  + s2.length());
		System.out.println(cut(s3) + " 字串长度为: "  + s3.length());
		System.out.println(cut(s4) + " 字串长度为: "  + s4.length());
		System.out.println(cut(s5) + " 字串长度为: "  + s5.length());
		System.out.println(cut(s6) + " 字串长度为: "  + s6.length());
	}
	
	public static String cut(String param) {
        int len = param.length();
        int tmp = 0;
        String result="";
        for (int j = 0; j < len; j++)
        {
            tmp++;
            if (param.charAt(j) > 255)
            {
            	tmp++;
            }
            if (tmp > len / 2)
            {
                result = param.substring(0, j) + "***";
                break;
            }
        }
        return result;
	}
}
 
分享到:
评论

相关推荐

    JQuery实现textarea行自增减.rar

    4. 在事件处理函数内,`$(this).val().split('\n').length` 计算textarea内容中换行符的数量,从而得到行数。 5. `$(this).attr('rows', Math.max(lines, 1))` 更新textarea的行数属性,确保至少为1行。 通过这种...

    textarea显示限制输入字符

    其中`index.html`可能是包含`textarea`和相关JavaScript代码的网页文件,而`php中文网免费下载站.txt`和`php中文网下载站.url`可能是与本话题无关的资源,`js`可能是指整个JavaScript文件夹,里面可能包含实现字符...

    jquery实现textarea输入框限制字数的方法

    在这段代码中,`$(function(){...})`是jQuery的文档就绪函数,它确保在整个文档加载完成后执行里面的代码。`$("#weibo")`是jQuery选择器,它选取了ID为“weibo”的textarea元素。`.keyup(function(){...})`是一个...

    JS List的contains方法与Array的contains方法的使用

    $("textarea[id^=input_uzaipdate_],textarea[id^=input_insert_uzaipdate_]").each(function() { if ($.trim($(this).val()) != "") { var tempPdate = $.trim($(this).val()); var tempPdateArr = tempPdate....

    js验证表单 js验证表单

    1:js 字符串长度限制、判断字符长度 、js限制输入、限制不能输入、textarea 长度限制 2.:js判断汉字、判断是否汉字 、只能输入汉字 3:js判断是否输入英文、只能输入英文 4:js只能输入数字,判断数字、验证数字、检测...

    jquery实现表单验证并阻止非法提交

    代码检测textarea内填写的长度,未填写时提示需要重新填写,少于15字符时提示需要长于15字符,成功时显示所填写建议。 [removed] //jQuery代码 function confirm&#40;&#41; {  if($("#advice").val().length == 0)...

    Jquery字数限制

    例如,如果我们想限制一个 `&lt;textarea&gt;` 或 `&lt;input&gt;` 元素的字符数,我们可以这样做: ```javascript $(document).ready(function() { var maxChars = 140; // 设置最大字符数 $('#myInput').on('input', ...

    百度Ueditor for Django

    Name=models.CharField(,max_length=100,blank=True) Content=UEditorField('内容 ',height=100,width=500,default='test',imagePath="uploadimg/",imageManagerPath="imglib",toolbars='mini',options={...

    检查表单元素的值是否为空的实例代码

    例如,在提供的示例中,我们有三个输入元素:`messageUser`、`messageTitle`和一个`textarea`用于留言内容。 在实际应用中,我们通常需要确保用户填写了所有必填字段。为此,我们可以利用JavaScript进行客户端验证...

    javascript检查表单数据是否改变的方法

    2. 对于`hidden`, `password`, `text`, 和 `textarea`类型的输入元素,我们比较`value`属性与`defaultValue`属性: ```javascript else if (type == "hidden" || type == "password" || type == "text" || type ==...

    正则表达式

    正则表达式中的特殊字符 字符 含意 \ 做为转意,即通常在"\"后面的字符不按原来意义解释,如/b/匹配字符"b",当b前面加了反斜杆后/\b/,转意为匹配一个单词的边界。 -或- 对正则表达式功能字符的还原,如"*"匹配它...

Global site tag (gtag.js) - Google Analytics