其实空格有两个,一个ASCII编号是32,另一个是ASCII编号是160.后者是unicode编码。以前写一个贴子ie6下准确判断空格还以是IE6不能正确判断空格。
其实这个问题是:如果你的js本身是unicode编码,那么用正则表达式/s就可以去掉所有空白,但是如果你js是utf-8编码,那么正则就不能处理编码为160的空格了。
下面我先是正则表达式去掉编码为32的空格,再用递归的方法去掉字符串两边的unicode空格。
本文介绍了一种使用JavaScript去除字符串两端ASCII和Unicode空格的方法。通过正则表达式和递归函数实现了不同编码环境下字符串的精确处理。
其实空格有两个,一个ASCII编号是32,另一个是ASCII编号是160.后者是unicode编码。以前写一个贴子ie6下准确判断空格还以是IE6不能正确判断空格。
其实这个问题是:如果你的js本身是unicode编码,那么用正则表达式/s就可以去掉所有空白,但是如果你js是utf-8编码,那么正则就不能处理编码为160的空格了。
下面我先是正则表达式去掉编码为32的空格,再用递归的方法去掉字符串两边的unicode空格。
6355

被折叠的 条评论
为什么被折叠?
