Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/469.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否存在防止输入Javascript的正则表达式?_Java_Javascript_Xml_Jsp_Validation - Fatal编程技术网

是否存在防止输入Javascript的正则表达式?

是否存在防止输入Javascript的正则表达式?,java,javascript,xml,jsp,validation,Java,Javascript,Xml,Jsp,Validation,我有一个文本区域,我需要防止javascript进入。如果他们输入文本。然后说一些javascript,javascript运行。并且文本不会被输入 我想有没有办法阻止javascript被输入文本字段(比如validation.xml中的regex?),或者有没有其他方法可以阻止javascript运行(可能是在jsp上) 以下是我得到的: JSP: 您还有${const['COMMENT\u MAX\u LENGTH']-fn:LENGTH(commentForm.COMMENT)}个字符

我有一个文本区域,我需要防止javascript进入。如果他们输入文本。然后说一些javascript,javascript运行。并且文本不会被输入

我想有没有办法阻止javascript被输入文本字段(比如validation.xml中的regex?),或者有没有其他方法可以阻止javascript运行(可能是在jsp上)

以下是我得到的:

JSP:


您还有${const['COMMENT\u MAX\u LENGTH']-fn:LENGTH(commentForm.COMMENT)}个字符。
以下是我的validation.xml:

<form name="whatif_add_entry_comment">
    <field property="id" depends="minlength">
        <msg name="minlength" key="ID has a minimum length of {0}" resource="false" />
        <arg name="minlength" key="${var:minlength}" resource="false" />
        <var>
           <var-name>minlength</var-name>
           <var-value>0</var-value>
        </var>
     </field>
     <field property="comment" depends="required,minlength,maxlength">
        <msg name="required" key="Comment name is required." resource="false" />
        <msg name="minlength" key="Comment has minimum length of {0}" resource="false" />
        <arg name="minlength" key="${var:minlength}" resource="false" />
        <var>
           <var-name>minlength</var-name>
           <var-value>1</var-value>
        </var>
        <msg name="maxlength" key="Comment has a maximum length of {0}" resource="false" />
        <arg name="maxlength" key="${var:maxlength}" resource="false" />
        <var>
           <var-name>maxlength</var-name>
           <var-value>250</var-value>
        </var>
     </field>
    </form>

最小长度
0
最小长度
1.
最大长度
250
您不需要(也不容易)逃避javascript本身。您需要转义HTML。最简单的方法是通过commons lang(首选3.0版)

如果您需要保留其他html标记,那么仅转义javascript将困难得多。你必须寻找onclick、onmouseover等。为此,请看一看

如果您需要支持一些标记格式,通常的做法是允许一些有限的html子集或自定义标记,如或。

您不需要(也不容易)避开javascript本身。您需要转义HTML。最简单的方法是通过commons lang(首选3.0版)

如果您需要保留其他html标记,那么仅转义javascript将困难得多。你必须寻找onclick、onmouseover等。为此,请看一看


如果您需要支持某些标记格式,通常的做法是允许一些有限的html子集或自定义标记,如或。

如果他想阻止所有标记,则是这样,但情况可能并非如此。如果他们只想阻止脚本标记,最好使用正则表达式匹配脚本标记并替换
字符。是。但我认为一切都会逃脱,因为通常情况就是这样。即使允许使用某些标记,它也是一个特定的子集,或者是自定义标记(如BBcode或Markdown)的form.setComment(StringEscapeUtils.escapeHtml(bean.getComment());'如果他想阻止所有标记标记,这是正确的,但事实可能并非如此。如果他们只想阻止脚本标记,最好使用正则表达式匹配脚本标记并替换
字符。是。但我认为一切都会逃脱,因为通常情况就是这样。即使允许使用某些标记,它也是一个特定的子集,或者是自定义标记(如BBcode或Markdown)的form.setComment(StringEscapeUtils.escapeHtml(bean.getComment());'
<form name="whatif_add_entry_comment">
    <field property="id" depends="minlength">
        <msg name="minlength" key="ID has a minimum length of {0}" resource="false" />
        <arg name="minlength" key="${var:minlength}" resource="false" />
        <var>
           <var-name>minlength</var-name>
           <var-value>0</var-value>
        </var>
     </field>
     <field property="comment" depends="required,minlength,maxlength">
        <msg name="required" key="Comment name is required." resource="false" />
        <msg name="minlength" key="Comment has minimum length of {0}" resource="false" />
        <arg name="minlength" key="${var:minlength}" resource="false" />
        <var>
           <var-name>minlength</var-name>
           <var-value>1</var-value>
        </var>
        <msg name="maxlength" key="Comment has a maximum length of {0}" resource="false" />
        <arg name="maxlength" key="${var:maxlength}" resource="false" />
        <var>
           <var-name>maxlength</var-name>
           <var-value>250</var-value>
        </var>
     </field>
    </form>