2012-01-18 149 views
-1

我正在一些項目中,我需要解析選定的字符串和驗證字符串是否有數字值和字母值。如果您有任何想法,請爲我​​提供解決方案。字符串解析算法驗證數字和字母的字母

+0

可以使用正則表達式。 – weston 2012-01-18 15:18:09

+0

由於您顯然有邏輯問題,請提供一個小的XML文檔以及轉換的準確預期結果。你說你需要測試一個字符串是否包含字母字符*和*數字,但是在你說的表達式應該對' 100-12 '評估爲'true()' - 它只包含數字和不包含任何字母。 – 2012-01-20 13:24:55

回答

0

這是true()恰好當字符串$s可以用作許多

number($s) = number($s) 

這是true()恰好當$s串僅由拉丁字符組成:

string-length(translate($s, $alpha, '')) = 0 

其中$ alpha是一個包含所有小寫和大寫字母的字符串。

這是真的當字符串$s至少包含一個字母或數字

not(string-length(translate($s, $alphaNum, '')) = string-length($s)) 

其中$ alphaNumis包含所有小寫和大寫字母和所有數字的字符串。

在XPath 2.0(XSLT 2.0)中,可以使用正則表達式和字符類

更新:它從OP的言論看來,他確實想測試一個字符串包含字母數字。

第二個新要求是在每種情況下在變量中存儲一部分字符串。然而,這個要求根本沒有定義,只有OP的評論中出現了兩個相互矛盾的例子。

+0

此值變量可以同時包含字母和數字,例如Value具有「Cust12」。你能告訴我如何驗證變量是否有數字和字母。 – Hari 2012-01-18 15:51:35

+0

@Hari:你想驗證$ Var只包含*字母和數字,或者它包含*字母和數字,但也可能包含其他類型的字符? – 2012-01-18 16:21:14

+0

需要檢查它是否包含至少一個字母和數字 – Hari 2012-01-18 16:26:06

相關問題