在javascript中查找字符串中的任何非asci字符
如果字符串包含任何非ascii字符,我希望失败: 当只有1个非ascii字符时,此选项有效:在javascript中查找字符串中的任何非asci字符,javascript,regex,Javascript,Regex,如果字符串包含任何非ascii字符,我希望失败: 当只有1个非ascii字符时,此选项有效: /[\x20-\x7E\s]/.test('☃') 但当它是字符串的一部分时失败 /[\x20-\x7E\s]/.test('sus☃') 您需要一个求反的字符类,以便该范围之外的任何字符都匹配: !/[^\x20-\x7E\s]/.test('sus☃') 或者,使用锚和量词: /^[\x20-\x7E\s]+$/.test('sus☃') 这使用了+(需要一个字符)。您可以使用*来代替(零或
/[\x20-\x7E\s]/.test('☃')
但当它是字符串的一部分时失败
/[\x20-\x7E\s]/.test('sus☃')
您需要一个求反的字符类,以便该范围之外的任何字符都匹配:
!/[^\x20-\x7E\s]/.test('sus☃')
或者,使用锚和量词:
/^[\x20-\x7E\s]+$/.test('sus☃')
这使用了
+
(需要一个字符)。您可以使用*
来代替(零或更多)。(如果您在第一个示例中没有看到!
,请点击“刷新”)不应使用\s
@Maxim:对不起,我不确定您的意思,除非您的意思是\s
将匹配各种非ASCII空格,例如\u00A0
?我想OP是故意把它放在那里的,所以我把它留下了,但是…必须有一个dupetarget来处理这个。。。