2012-02-13 20 views
1

我在使用jquery.validation.js檢測最小單詞時遇到了問題。隨着我對英語使用的腳本:如何檢查jquery上的最小泰語單詞

jQuery.validator.addMethod('minWords', function(value, element, params) { 
    return !$(element).val() || $(element).val().match(/\b\w+\b/g).length >= params; 
}, 'Please enter at least {0} words.'); 

這個腳本不是在泰國的具體語言文字工作。有誰能夠幫助我?

感謝


現在的工作。謝謝所有

+2

你能解釋一下這是如何不爲泰國工作 - 我想這是監守不是所有的話都用空格與英語分開嗎? – 2012-02-13 12:29:28

+2

此外,無論何時詢問「我如何驗證X」問題,最好都包括應通過驗證的示例,以及應該失敗的示例。這對Rory的問題也有幫助。 – 2012-02-13 12:32:39

+0

雖然泰語單詞不符合最低要求 – 2012-02-13 12:40:43

回答

0

最後,我計算了沒有XRegxp的泰語,我使用jquery.wordcount.js中的相同方法修改了minWords插件。下面是完整的修改後的腳本:

jQuery.validator.addMethod('minWords', function(value, element, params) { 
    return !$(element).val() || $(element).val().split(/[\s\.\?]+/).length >= params; 
}, 'Please enter at least {0} words.'); 

這裏的正則表達式:

split(/[\s\.\?]+/) 
1

它不工作,因爲泰國字符是Unicode字符。 可悲的是,使用Javascript沒有內置的Unicode的正則表達式的功能,但有很大的插件,做的伎倆:

XRegExp - The one of a kind JavaScript regular expression library

檢查出XRegExp的使用文檔。

+0

*「這是因爲泰語字符是Unicode字符,所以不起作用」,表單返回true(提交數據)。* *字母「a」也是如此。 *「可悲的是,Javascript沒有內置的Unicode正則表達式功能......」*確實如此。它沒有的是Unicode *類別*等等。但使用範圍,Unicode文字等沒有問題。 – 2012-02-13 12:59:12

+0

所以它不能用javascript嗯完成.... – 2012-02-13 14:27:01

+0

是的,你可以。您需要使用XRegExp JavaScript插件。 – papaiatis 2012-02-13 15:05:39