汉字和字母字符正则实例

2018-10-23  本文已影响0人  小羊子简述

<li style="position: relative;">

<label style="float: left; max-width: 240px;"><!-- <span>★</span> --> 服务内容 : </label>

<textarea  class="workOrder_serviceContent_edit" id="taskCustPhone_serviceContent" name=cmemo maxlength="500" onkeyup="compute_length_index_add(this)" limit="notnull:string:1:500">22</textarea>

<p class="compute_length_number_add test" style="position: absolute;bottom: -20px;left: 115px;color: red;" title="最多可输入250个汉字">所输入剩余<span id="compute_length_number_add">500</span>个字符</p>

<p class="test"  style="position: absolute;bottom: -20px;left: 115px;color: red;">最多可输入250个汉字</p>

</li>

<script type="text/javascript">

$(function(){

$(".test").hide()

var obj=$("#taskCustPhone_serviceContent");

var tno = $("#compute_length_number_add");

var maxlength = $("#taskCustPhone_serviceContent").attr("maxlength");

var lenE = obj.val().length;

var lenC = 0;

var CJK = obj.val().match(/[\u4E00-\u9FA5\uF900-\uFA2D]/g);

if(CJK != null)

lenC += CJK.length;

tno.text(parseInt(maxlength) - parseInt(lenC) - parseInt(lenE));

if(tno.text() == 500 ){

$(".test").eq(0).hide()

$(".test").eq(1).show()

}else if(tno.text() < 500){

$(".test").eq(1).hide()

$(".test").eq(0).show()

}

if(tno.text() < 0) {

tno.text("0")

var tmp = 0

var cut = obj.val().substring(0, maxlength);

for(var i = 0; i < cut.length; i++) {

tmp += /[\u4E00-\u9FA5\uF900-\uFA2D]/.test(cut.charAt(i)) ? 2 : 1;

if(tmp > maxlength) break;

}

obj.val() = cut.substring(0, i);

}

})

function compute_length_index_add(obj) {

var tno = $("#compute_length_number_add");

var maxlength = $("#taskCustPhone_serviceContent").attr("maxlength");

var lenE = obj.value.length;

var lenC = 0;

var CJK = obj.value.match(/[\u4E00-\u9FA5\uF900-\uFA2D]/g);

if(CJK != null)

lenC += CJK.length;

tno.text(parseInt(maxlength) - parseInt(lenC) - parseInt(lenE));

if(tno.text() == 500 ){

$(".test").eq(0).hide()

$(".test").eq(1).show()

}else if(tno.text() < 500){

$(".test").eq(1).hide()

$(".test").eq(0).show()

}

if(tno.text() < 0) {

tno.text("0")

var tmp = 0

var cut = obj.value.substring(0, maxlength);

for(var i = 0; i < cut.length; i++) {

tmp += /[\u4E00-\u9FA5\uF900-\uFA2D]/.test(cut.charAt(i)) ? 2 : 1;

if(tmp > maxlength) break;

}

obj.value = cut.substring(0, i);

}

}

</script>

上一篇 下一篇

猜你喜欢

热点阅读