【JS】判断用户输入的用户名首位是否是字母

判断用户输入的用户名首位是否是字母

https://codepen.io/sam9029/pen/xxWrGRw

思路:

    方法1. 正则  /[a-z]/i 
    方法2. ASCII码 A-Z的ascii码65-90 ; a-z的ascii码:97-122。

方法一 正则

document.querySelector('.btn1').onclick = function(){
    let str = document.querySelector('.input1').value
    //为空时,str 为 '',(没有空格) 要排除
    //此时 Boolean(str) 是 false

    let firstLetter = str[0]
    //为空时,firstLetter 为NaN,要排除
    //注意 NaN 不等于自身 (即NaN==NaN//false,NaN===NaN//false)

    // 匹配正则 a-z 且含大小写
    let check = /[a-z]/i
    //Boolean(str)排除无输入情况
    if(check.test(firstLetter) && Boolean(str)){
        alert('输入格式正确,用户名首位包含字母')
    }
    else{
        alert('输入格式错误,用户名首位需包含字母')
    }
}

方法二

  • ASCII码 判断 string.charCodeAt(index)使用
  • A-Z的ascii码:bai65-90,a-z的ascii码:97-122。
// ASCII码 判断 string.charCodeAt(index)使用
// A-Z的ascii码:bai65-90,a-z的ascii码:97-122。
document.querySelector('.btn1').onclick = function(){
    let str = document.querySelector('.input1').value
    let firstLetter = str.charCodeAt(0)
    if((firstLetter>=65 && firstLetter<=90) || (firstLetter>=97 && firstLetter<=122)){
        alert('输入格式正确,用户名首位包含字母')
    }
    else{
        alert('输入格式错误,用户名首位需包含字母')
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值