如何防止特殊字符输入到编辑框中

时间:2015-11-12 20:17:25

标签: xpages

我将validateConstraint模块添加到我的编辑框中,当您提交表单时它可以正常工作:

<xp:validateConstraint
message="Only letters, numbers and the space character allowed in this field">
<xp:this.regex><![CDATA[^[a-zA-Z0-9_ ]*$]]></xp:this.regex>
</xp:validateConstraint>

但是如何阻止输入/粘贴此类字符。假设我需要将一些替换语句放入keyDown事件中,但无法确定究竟是什么。

1 个答案:

答案 0 :(得分:2)

您可以使用onkeypress事件来限制您想要接受的字符。

这不验证特殊字符,它不允许用户键入它们。这是一个会告诉您密钥的网站:http://keycode.info/

例如,这只允许数字:

var keyCode = event.keyCode;
if((keyCode >= 48 && keyCode <= 57) ||keyCode == 8){
    event.returnValue = true;
}else{
    event.returnValue = false;
}

您也可以撤消此操作,并通过其键码选择性地排除特殊字符。

这是我如何做的图片。我不像评论中的链接那样使用JQuery,尽管这当然也有效: enter image description here

一个警告:要在编辑框(在XPage中)中使用,即使键盘字符具有不同的键码,它们的工作方式也相同。在某些情况下,如Dojo Comboxbox,您还需要指定正常数字和小键盘数字。 keyCode values for numeric keypad?