十二、js去掉空格_比较字符长度_中英文判断_页面初始化_简体字与繁字体判断

1、去掉字符串前后所有空格

function trimBlank(str){
  return str.replace(/(^\s*)|(\s*$)/g, "");
}
View Code

2、字符串长度比较:
因为数据库NLS_CHARACTERSET值为AL32UTF8,决定了:一个汉字占三个字节,超长后会入库失败,报错字段超长
参数说明:param:字符串,leng:指定长度

function stringLengthCheck(param,leng){
    var str = param ;    
    var i,sum;
    sum=0;
    for(i=0;i<str.length;i++)
    {
        if ((str.charCodeAt(i)>=0) && (str.charCodeAt(i)<=255))
            sum=sum+1;
        else
            sum=sum+3;
    }
    return sum>leng;    
}
View Code

3、既不是英文,也不是中文返回true,否则返回false

function englishOrChinaCheck(str) {
    var chinese = /^[\u4e00-\u9fa5]+$/;//中文
    var english = /^[a-zA-Z]+$/;//英文
    if (!chinese.test(str)&&!english.test(str)) {
        return true;
    };
    return false;
};
View Code

4、页面初始化的四种方法

window.onload=function(){
    alert("张三");
}

function onload(){
    alert("张三")
};

$(function(){ alert("张三");});

jQuery(function($){
    alert("张三")}
);
View Code

  js用正则表达式通过验证被验证汉字的码位是否在此范围之内来判断是否为汉字,繁体中文也是中文的一部分同样在4E00到9FA5的范围之内.所以无法通过正则表达式区分简体中文或者繁体字。但是可以通过java实现对简体中文或者繁体字的区分,代码如下:

    public static String isSimpleOrComplex(String name,Object obj) {
        if(obj!=null&&!"".equals(obj)){
            String encode ="GB2312";
            String objStr= obj.toString();
            try {
                if (!objStr.equals(new String(objStr.getBytes(encode), encode))) {
                    return name + ":中不得填写繁体字";
                }
            } catch (UnsupportedEncodingException e) {
                e.printStackTrace();
            }
        }
        return "";   
    }
View Code

说明:中国台湾、香港与澳门等使用繁体中文的地区使用的是Big5字符集,共收录13,060个中文字,GB2312和GBK通行于中国大陆,和采用简体中文标准的其它使用中文地区,比如新加坡。


posted @ 2018-03-23 15:56  爱笑的berg  阅读(1009)  评论(0编辑  收藏  举报