判断输入的是否是汉字(中文,不包括中文符号)

首先想到的是正则判断:

    var pattern = /[\u4E00-\u9FA5\uf900-\ufa2d]/;
    if (str != "") {
        if (!pattern.test(str)) {
            alert("不是中文");
            return false;
        }
        return true;
    }
如果换成match,这样写:str.match(pattern)==null。


exec(string): 对string进行正则处理,并返回匹配结果.
exec方法返回的数组有3个属性,分别是input、index和lastIndex 。
1 input 属性是整个被搜索的字符串。
2 index属性是指匹配在整个被搜索字符串中的位置。
3 lastIndex 属性是指匹配的子字符串的最后一个字符的下一个字符位置。

test(string): 测试string是否含有匹配结果

字符串对象中的正则
方法
match(pattern) :根据pattern进行正则匹配,如果匹配到,返回匹配结果,如匹配不到返回null
search(pattern) :根据pattern进行正则匹配,如果匹配到一个结果,则返回它的索引数;否则返回-1
replace(pattern,replacement) :根据pattern进行正则匹配,把匹配结果替换为replacement
split(pattern) :根据pattern进行正则分割,返回一个分割的数组

关于二者的区别,详见这里
原文地址:https://www.cnblogs.com/pfs1314/p/2032574.html