检查字符串是否包含数字或者是数字 - Thymeleaf
Check if a string contains number or is numeric - Thymeleaf
有没有办法检查字符串是否为数字。
{#strings.isNumeric(dataField)}
不起作用。
如何检查字符串是否包含数字(以及特定位数)- 是否有可以使用的 RegEx,或可以调用的内置函数?
想在下面避免这种情况:
{#string.contains('1') or #string.contains('2')}
尝试 matches()
:
{#dataField.matches('[0-9]{3,8}')}
这匹配长度为 3 到 8 位数字(含)的字符串。您可以将这些值更改为适合您的值。
您也可以使用开放式长度范围:[0-9]{3,}
表示 "at least 3 digits"
如果你的路径中有库 org.apache.commons.lang3
你可以将它用作下一个
${T(org.apache.commons.lang3.StringUtils).isNumeric(dataField)}
因此,如果您想使用 if 块,则可以是:
<th:block th:if="${T(org.apache.commons.lang3.StringUtils).isNumeric(dataField)}">
<p>Is numeric!</p>
</th:block/>
否则,如果您的 class 路径中没有 org.apache.commons.lang3
,您可以实现自己的方法来检查它是否为数字,然后使用它。
所以你可以像下面这样创建一个 class:
package your.package;
public class Utils {
public static boolean isNumeric(String data){
//impl
return true;
}
}
然后在下一个表达式中使用它:
${T(your.package.Utils).isNumeric(dataField)}
有没有办法检查字符串是否为数字。
{#strings.isNumeric(dataField)}
不起作用。
如何检查字符串是否包含数字(以及特定位数)- 是否有可以使用的 RegEx,或可以调用的内置函数?
想在下面避免这种情况:
{#string.contains('1') or #string.contains('2')}
尝试 matches()
:
{#dataField.matches('[0-9]{3,8}')}
这匹配长度为 3 到 8 位数字(含)的字符串。您可以将这些值更改为适合您的值。
您也可以使用开放式长度范围:[0-9]{3,}
表示 "at least 3 digits"
如果你的路径中有库 org.apache.commons.lang3
你可以将它用作下一个
${T(org.apache.commons.lang3.StringUtils).isNumeric(dataField)}
因此,如果您想使用 if 块,则可以是:
<th:block th:if="${T(org.apache.commons.lang3.StringUtils).isNumeric(dataField)}">
<p>Is numeric!</p>
</th:block/>
否则,如果您的 class 路径中没有 org.apache.commons.lang3
,您可以实现自己的方法来检查它是否为数字,然后使用它。
所以你可以像下面这样创建一个 class:
package your.package;
public class Utils {
public static boolean isNumeric(String data){
//impl
return true;
}
}
然后在下一个表达式中使用它:
${T(your.package.Utils).isNumeric(dataField)}