非宽度特殊字符删除

时间:2016-11-29 05:40:30

标签: javascript html non-ascii-characters

以下是我的HTML代码以获取用户的输入。

<HTML>
<BODY>
<FORM METHOD=POST onSubmit="javascript:return(exa(this.form.model.value))">

<INPUT TYPE=TEXT NAME=MODEL VALUE="">
<INPUT TYPE=SUBMIT NAME=SUBMIT VALUE="Next">

</FORM>
</BODY>
</HTML>

当用户输入模型名称(具有零宽度特殊字符)时 - &gt; PMUE4526AAAAAA

以下是删除非ascii字符的java脚本。但是,它不适合我。

function exa(myString)
{
  alert("String: "+myString);alert("String_length: "+myString.length);
  myString=  myString.replace(/[^\x20-\x7e]/g,'');
  alert("String: "+myString);alert("String_length: "+myString.length);

每当我尝试显示从HTML收到的值时,"&#8203;&#8203;PMUE4526AAAAAA"就会显示出来。所以,我的Java脚本程序考虑"&#8203;"(7个字符),而不是特殊字符。

请帮我解决问题。

1 个答案:

答案 0 :(得分:1)

在替换中尝试使用此正则表达式:/([^ \ x00- \ x7F] |&amp;#[0-9] +;)/ g