var x = "("
if(x == x.toUpperCase()){
console.log("I am capital ")
}
我们非常清楚";("这不是我为什么会出现这个错误的上限——我的任务是测试数字,无论它们是否大写——它对其他字符很有效,但对"("one_answers"这个"("无效;符号
我们非常清楚"("这不是一个大写
实际上,我们并不清楚这一点。这取决于确切地说如何定义";大写";。
我们所知道的是,(
根本没有的情况。这意味着(
是否为大写的问题是无意义的。
然而,您可能会争辩说(
是大写和小写!例如,如果定义";大写";意思是";不是小写";,那么(
最确定的是大写:因为它没有大小写,所以它肯定不是小写,也就是说,根据这个定义,它是大写。
为什么我会出现这个错误,我的任务是测试数字,无论它们是否大写,它对其他字符都很好,但对";("和这个"(;符号
您正在检查字符的大写版本是否与您的版本相同。对于所有没有大小写的字符来说,这是非常正确的:(
的大写版本是(
,它非常等于(
。您将在)
、,
、.
、-
、=
、?
、0
、1
、2
、…、9
和许多其他方面看到相同的情况。
如果你想检查一个字符是否是大写,你首先需要定义什么,确切地说,你的意思是";大写";。计算机非常、非常、非常愚蠢,而且非常、非常非常字面。他们只做你告诉他们的事情,他们没有考虑上下文,他们无法推断你的意思。
所以,如果你甚至不能向人类解释你所说的";大写";,那么你就不可能为它编写程序了。
就我个人而言,我只是使用Unicode使用的定义。他们可能并不完美,但很多非常聪明的人花了很多时间认真思考这个问题;我不可能投入那么多时间和资源。目前,Unicode列出了1791个大写字母……我不可能把它们都想出来,所以我只是让专家们弄清楚。这是编程中的一个普遍想法:如果你能让别人解决你的问题,那就去做吧!
所以,我只想这样做:
const x = "("
if (x.match(/p{Uppercase}/u)) {
console.log("I am capital");
}
如果您告诉JavaScript将(
转换为大写字符串,则会得到(
和( === (
。
我想你可以把它转换成小写,并对它们进行比较。
var x = "("
if(x === x.toUpperCase() && x !== x.toLowerCase()){
console.log("I am capital ")
}