查找JavaScript变量值的第一个字母的类型,无论是字母、数字还是特殊字符

查找JavaScript变量值的第一个字母的类型,无论是字母、数字还是特殊字符,javascript,Javascript,我有一个名为vartext='Saif' 那么如何检查该值的第一个字符是字母、数字或特殊字符 我已经试过下面的代码了- var text = 'Saif' var char = /[A-Z]/g var num = /[0-9]/g if (text.match(char)) { console.log("The string starts with Letter") } e

我有一个名为var
text='Saif'

那么如何检查该值的第一个字符是字母、数字或特殊字符

我已经试过下面的代码了-

var text                = 'Saif'
var char                = /[A-Z]/g
var num                 = /[0-9]/g

if (text.match(char)) {
    console.log("The string starts with Letter")
} else if (text.match(num)){
    console.log("The string starts with Number")
} else {
    console.log("The string starts with Special character")
}
它在字母和数字的情况下工作正常。但是我找不到特殊的字符来代替字母或数字

我该怎么做呢?

试试这个:

var text='s2Saif'
var char=/^[A-Z]/g
var num=/^\d/g
if(text.match(char)){
log(“字符串以字母开头”)
}else if(text.match(num)){
log(“字符串以数字开头”)
}否则{
log(“字符串以特殊字符开头”)
}
字母是否包含小写字符?如果是这样,让
var char=/^\w/g

首先,
char
在JavaScript中是一个保留字-最好不要在变量名中使用它

第二,如果您想测试一个模式,但实际上并没有检索到匹配项,请使用
test()
而不是
match()

第三,您当前的模式不仅仅强制执行字符串的第一个字符;他们允许里面有任何字符

if (/^[a-z]/ig.test(text))
    console.log("The string starts with Letter")
else if (/^\d/.test(text))
    console.log("The string starts with Number")
else
    console.log("The string starts with Special character")
尝试一下:

var format = /[ `!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?~]/;

// This ↓ method will return true or false value.
if (format.test(text)) {

     console.log("The string starts with Special character");

}
var格式=/[`!@\\$%^&*()\+\-=\[\]{};:“\\\\\,.\/?~]/;
//这个↓ 方法将返回true或false值。
if(格式测试(文本)){
log(“字符串以特殊字符开头”);
}

/[^A-Z0-9]/g
?我已经尝试过了。但是这个表达式仍然很混乱。--@ajarrow您的标题和代码让我感到困惑…您写了:“第一个字符值”,并且正在检查所有值,如果您只想检查需要输入的第一个字符,请输入
文本[0]
它就是这样工作的fine@tomerraitz如果文本是
\hello
,它将不显示。它只显示
h
!text.match(/^[A-Za-z0-9]/)
有趣-我确信它曾经是。事实上,各种在线资源仍然将其列为保留。当名称为
Şaif
时,这会失败。但不知道这是否是OP的问题。@Mitya您的代码现在正在工作。谢谢。非常感谢。@michel如何失败?它会识别它(正确)作为一个特殊字符。我不想再找到小写或大写字符。我只想找到它是一个特殊字符还是不像(@$%&*-+“':;/=^{}请用新的question@Saifullah:然后提出一个新问题(以避免此处的答案因提出错误的问题而受到惩罚)或在此处编辑该问题(并非常仔细地解释,无效答案回答的是您最初提出的问题,这是一个错误的问题)。下次,请花时间问您想问的问题,尽量不要中途改变主意。
!text.match(/^[(@$%&*\-+”:;\/=^{}]/)