非宽度特殊字符删除
Non Width Special Character Removal
下面是我的 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>
当用户输入型号名称(具有零宽度特殊字符)时 --> 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 收到的值时,"​​PMUE4526AAAAAA"
就会显示那样。所以,我的 Java 脚本程序考虑 "​"
(7 个字符),而不是特殊字符。
请帮我解决问题。
尝试在替换中使用此正则表达式:/([^\x00-\x7F]|[0-9]+;)/g
下面是我的 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>
当用户输入型号名称(具有零宽度特殊字符)时 --> 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 收到的值时,"​​PMUE4526AAAAAA"
就会显示那样。所以,我的 Java 脚本程序考虑 "​"
(7 个字符),而不是特殊字符。
请帮我解决问题。
尝试在替换中使用此正则表达式:/([^\x00-\x7F]|[0-9]+;)/g