Jér*_*nge 68 javascript string character letter
我在Javascript字符串中提取一个字符:
var first = str.charAt(0);
Run Code Online (Sandbox Code Playgroud)
我想检查一下是否是一封信.奇怪的是,Javascript中似乎不存在这样的功能.至少我找不到它.
我该怎么测试呢?
Jar*_*Par 111
我不相信有内置功能.但用正则表达式编写它很容易
function isLetter(str) {
return str.length === 1 && str.match(/[a-z]/i);
}
Run Code Online (Sandbox Code Playgroud)
dal*_*ege 83
对于那些没有被更简单的检查所考虑的特殊字符/[a-zA-Z]/.test(c),利用ECMAScript case transformation(toUpperCase)可能是有益的.它将考虑一些外国字母表的非ASCII Unicode字符类.
function isLetter(c) {
return c.toLowerCase() != c.toUpperCase();
}
Run Code Online (Sandbox Code Playgroud)
注意:此解决方案仅适用于大多数拉丁语,希腊语,亚美尼亚语和西里尔语脚本.它不适用于中文,日文,阿拉伯文,希伯来文和大多数其他文字.
Sum*_*mer 16
if( char.toUpperCase() != char.toLowerCase() )
Run Code Online (Sandbox Code Playgroud)
仅在字母的情况下返回true
bez*_*max 15
我相信这个插件具有您所寻求的功能:http://xregexp.com/plugins/(github链接:https: //github.com/slevithan/xregexp)
有了它,您可以简单地匹配所有的unicode字母\p{L}.
阅读此源文件的标题以查看它支持的类别:http://xregexp.com/plugins/xregexp-unicode-categories.js
How about using ASCII codes?
let n = str.charCodeAt(0);
let strStartsWithALetter = (n >= 65 && n < 91) || (n >= 97 && n < 123);
Run Code Online (Sandbox Code Playgroud)