3 个回答

加个判断

if(!/^[\u4e00-\u9fa5]+$/gi.test(document.getElementById("xxx").value))
<input onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\u4E00-\u9FA5]/g,''))">
var strLen = (function() {
    var trim = function(chars){
        return (chars || "").replace( /^(\s|\u00A0)+|(\s|\u00A0)+$/g, "" );
    }

    return function(_str, _model) {
        _str = trim(_str),
            _model = _model || "Ch";    //默认是中文
        var _strLen = _str.length;    //获取字符长度
        if(_strLen == 0){            //如果字符为0直接返回
            return 0;
        }
        else{
            var chinese = _str.match(/[\u4e00-\u9fa5]/g);                //匹配中文
//判断是什么模式
            return _strLen + (chinese && _model == "Ch" ? chinese.length: 0);
        }
    };
})();

//检测中文的正则
var chineseReg = /^[u4e00-u9fa5]+$/;
chineseReg.test();

推荐问题