判断用户输入的用户名首位是否是字母
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('输入格式错误,用户名首位需包含字母')
}
}