我的表单上有一个自由文本字段,用户可以输入任何内容。有些用户正在从Word文档中将文本粘贴到此字段中,其中包含一些我不希望在数据库中出现的奇怪字符。 (例如webding字体字符)我试图得到一个正则表达式,只给我字母和标点字符。 但是当我尝试以下操作时,输出仍然是所有字符。我怎么能把它们留下来?
<html><body><script type="text/javascript">var str="";document.write(str.replace(/[^a-zA-Z 0-9 [:punct]]+/g, " "));</script></body></html>
答案 0 :(得分:1)
如果您只想要ascii,请使用/[^ -~]+/
作为正则表达式。问题是你的[:punct:]
声明。也许javascript不支持[:punct:]
?