好吧,我有一个<p:inputText>
的表面,但我想知道如何只允许大写单词而不是特殊字符。例如:RenatoCalhaça= RENATO CALHACA
答案 0 :(得分:2)
您可以添加inputText
<p:inputText onblur="this.value = this.value.toUpperCase();"/>
并在你的css包含在最后
.ui-inputtext, .ui-inputfield{
text-transform: uppercase;
}
&#13;
<强>更新强> 如果你使用primefaces 6+,你可以使用组件p:keyFilter
http://www.primefaces.org/showcase/ui/input/keyFilter.xhtml
<p:inputText id="text1">
<p:keyFilter regEx="/[ABC]/i"/>
</p:inputText>
答案 1 :(得分:1)
"Renato".toUpperCase()
会将字符串转换为大写。
请查看java.text.Normalizer
,将重音符号(部分而非全部)转换为标准字符。
要禁用小写和/或特殊字符,则应使用验证器。简单的正则表达式将标识特殊字符[^a-zA-Z0-9]
或特殊字符和小写字符[^A-Z0-9]
。验证器还可以使用上面指出的两种方法修改输入 - 尽管您可能希望确保用户知道这种情况正在发生。