我正在尝试这个
str = "bla";
/([^A-z]|[^0-9])/.test(str.charAt(0));
Run Code Online (Sandbox Code Playgroud)
但true无论我把它放在弦上,它都能给我
这是因为你的正则表达式的意思是"什么是或者不是字母或不是一个数字." 所有字符至少满足其中一个条件.我怀疑你真正想要的是这个:
/[^A-Za-z0-9]/
Run Code Online (Sandbox Code Playgroud)
这意味着"什么是两者不是一个字母,并没有一个数字." 看到不同?
作为旁注,[A-z]是不正确的.[A-Z]并且[a-z]是两个不同的字符集,并且在技术上它们之间没有定义的延续.一些正则表达式引擎会让你逃避这一点,但有些会抛出错误或做你不想要的事情.
写"从A到Z的任何字母,无论情况如何"的正确方法是[A-Za-z].或者您可以使用该i标志使您的正则表达式不区分大小写,在您的情况下将是:
/[a-z0-9]/i
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
83 次 |
| 最近记录: |