不允许使用特殊字符,只允许使用大写字母p:inputText Primefaces

时间:2013-08-23 17:09:50

标签: jsf primefaces

好吧,我有一个<p:inputText>的表面,但我想知道如何只允许大写单词而不是特殊字符。例如:RenatoCalhaça= RENATO CALHACA

2 个答案:

答案 0 :(得分:2)

您可以添加inputText

<p:inputText onblur="this.value = this.value.toUpperCase();"/>

并在你的css包含在最后

&#13;
&#13;
.ui-inputtext, .ui-inputfield{
    text-transform: uppercase;    
    }
&#13;
&#13;
&#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]。验证器还可以使用上面指出的两种方法修改输入 - 尽管您可能希望确保用户知道这种情况正在发生。