說起JavaScript中文判斷,我們首先想到的肯定是字符串的相關操作。
例如,判斷一個字符串中是否包含中文字符,可以使用match()方法,正則表達式為/[\u4e00-\u9fa5]/。
var str = "這是一個中文字符串。"; if(str.match(/[\u4e00-\u9fa5]/g)){ console.log("包含中文字符"); } else { console.log("不包含中文字符"); }
或者,我們可以使用charCodeAt()方法,判斷字符串中每個字符的charCode是否在中文字符的范圍內,如果是,則說明字符串中包含中文字符。
function isChinese(str){ for(var i=0; i0x9fa5){ return false; } } return true; } var str1 = "這是一個中文字符串。"; var str2 = "This is an English sentence."; console.log(isChinese(str1)); //輸出true console.log(isChinese(str2)); //輸出false
如果我們需要判斷一個字符串是否完全由中文字符組成,則可以使用正則表達式/^[\\u4e00-\\u9fa5]+$/。
function isAllChinese(str){ return /^[\u4e00-\u9fa5]+$/.test(str); } var str1 = "這是一個中文字符串。"; var str2 = "這是一個中文字符串, there are some English words."; console.log(isAllChinese(str1)); //輸出true console.log(isAllChinese(str2)); //輸出false
除了判斷字符串中是否包含中文,我們還可以使用全角字符和半角字符之間的差異來判斷一個字符串中是否包含中文字符。
function isContainChinese(str){ for(var i=0; i=0x0001 && c<=0x007e) || (c>=0xff60 && c<=0xff9f)){ continue; } else { return true; } } return false; } var str1 = "這是一個中文字符串。"; var str2 = "This is an English sentence."; console.log(isContainChinese(str1)); //輸出true console.log(isContainChinese(str2)); //輸出false
總的來說,JavaScript中文判斷并不困難,我們可以根據需要選擇不同的方法來實現。在日常開發中,對于涉及到中文字符的場景,我們需要更加細心地處理,以免帶來一些意外的問題。
上一篇php if 對象