我正在尝试使用 Javascript/jQuery 查找仅包含英文字母和数字的文本。
想知道最有效的方法是什么?由于可能有数千个单词,它应该尽可能快,我不想使用正则表达式。
var names[0] = 'test';
var names[1] = 'हिन';
var names[2] = 'لعربية';
for (i=0;i<names.length;i++) {
if (names[i] == ENGLISHMATCHCODEHERE) {
// do something here
}
}
感谢您的宝贵时间。
最佳答案
这个的正则表达式可能是:
var english = /^[A-Za-z0-9]*$/;
现在,我不知道您是否想要包含空格之类的东西;可以扩展正则表达式。你会像这样使用它:
if (english.test(names[i])) // ...
另见:Regular expression to match non-English characters?
编辑 我的大脑过滤掉了“我不想使用正则表达式”,因为它没有通过“isSilly()”测试。您始终可以检查单词中每个字母的字符代码,但这比让正则表达式匹配器工作要慢(可能很多慢)。内置的正则表达式引擎非常快。
当您担心性能时,请始终先进行一些简单的测试,然后再对技术做出假设(除非您已经非常了解该技术)。
关于Javascript 查找是否只有英文字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2402886/