2014-12-30 106 views
0

我有一個多語種網站,我想限制使用正則表達式來輸入其他語言字符(特別是中文)。有人可以給我一個例子如何實現這一點。如何使用javascript限制中文字符在文本框中

小提琴:

$(".textTest input").keyup(function() { if ($(this).val().match(/^[\u4E00-\u9FFF\u3400-\u4DFF\uF900-\uFAFF]+$/g)) { alert('Chinese character sets'); } else alert('English'); });

http://jsfiddle.net/srikanth1818/ofkhsr9x/

+0

它可能會更容易,你要允許白名單中的字符,而不是黑名單的_UTF_ –

+0

顯示巨大部分的本=> HTTP://計算器.com/questions/8340719/regex-to-remove-non-letter-characters-but-acce-accented-letters –

+0

「其他語言」在多語言網站上下文中的含義是什麼?不是英文? –

回答

1

您在正則表達式正確的方向打算。下面的代碼檢查Unicode中的中文字符集。

$(".textTest input").keyup(function() { 
    if ($(this).val().match(/[\u4E00-\u9FFF\u3400-\u4DFF\uF900-\uFAFF]+/g)) { 
     alert('Chinese character sets'); 
    } 
    else alert('English'); 
}); 

更多信息可以在這裏找到:

What's the complete range for Chinese characters in Unicode?

+0

在這裏,即使我輸入「as」作爲文本,它警告爲「中文字符集」..我曾嘗試過「作爲供應商」,這也警示相同。 – Sriks

+0

@Sriks我刪除了\ u #####範圍。這應該現在工作。 – Mouser

+0

Hi Mouser,我試過。不工作:( 請找到小提琴:http://jsfiddle.net/srikanth1818/ofkhsr9x/ – Sriks