IE9 给了我一个对语法没有意义的错误。missing )
以前是Expected ;
以前的 SO 帖子在这里
我在任何其他浏览器上都看不到随机错误,并且我的代码通过了 jslint.com 和 jshint.com
想要验证snuck
我的代码中没有 unicode,所以我将通过正则表达式运行它并检查
[\x00-\x7F]
这是一种有效的方法吗?
有关的
IE9 给了我一个对语法没有意义的错误。missing )
以前是Expected ;
以前的 SO 帖子在这里
我在任何其他浏览器上都看不到随机错误,并且我的代码通过了 jslint.com 和 jshint.com
想要验证snuck
我的代码中没有 unicode,所以我将通过正则表达式运行它并检查
[\x00-\x7F]
这是一种有效的方法吗?
有关的
自从我在 IE 中开发以来已经差不多十年前了,所以我的记忆可能是错误的,但我隐约记得 IE 不喜欢代码中的控制字符(0x20 以下的字符,换行、回车和制表符除外) .
根据您使用的编辑器,很容易插入控制代码,方法CTRL
是同时按下@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_
以获得控制代码 0x00 - 0x1f 之一。
如果您想使用正则表达式来验证您只有可打印的 ASCII 和允许的控制字符,您可以使用^[\x09\x0a\x0d\x20-\x7e]*$
. 它允许制表符 (x09)、换行符 (x0a)、回车符 (x0d) 和所有可打印的 ASCII 字符。删除 (x7f) 被忽略。
如果您想检测是否有一些不是可打印的 ASCII 或允许的控制字符,您可以使用它[^\x09\x0a\x0d\x20-\x7f]
来匹配任何不是制表符、换行符、回车或可打印 ASCII 的内容。
在 Unicode 中有一些新的行终止符:下一行 (\u0085)、行分隔符 (\u2028) 和段落分隔符 (\u2029)。
许多 Internet 协议(以及 Windows 系统上的普通文本文件)期望行尾用回车符后跟换行符 ( \0x0d\0x0a
) 来指示,这是从您希望能够仅返回不前进到下一行,例如能够写下划线。它还可以通过再次打印同一行来使文本更粗,或者以灰度打印...