用JS如何验证输入必须是字母或数字?

JavaScript020

用JS如何验证输入必须是字母或数字?,第1张

可以使用JavaScript的正则表达式进行验证,验证函数如下:

function check(str){

return /^[\da-z]+$/i.test(str)

}解释:

1.

^表示匹配字符串开头

2.

$表示匹配字符串结尾

3.

\d表示匹配数字

4.

a-z表示字母

5.

[]表示集合,表示一个字符是[]中任意一个

6.

+表示匹配1个或1个以上,[]+表示匹配[]中的1个以上字符

7.

表达式后面的i表示忽略大小写

8.

test函数用于验证字符串是否满足正则表达式,如果满足,返回true,否则返回false

用JavaScript实现验证码的验证主要代码如下:

var code //在全局定义验证码

//产生验证码

window.onload = function createCode(){

code = ""

var codeLength = 4//验证码的长度

var checkCode = document.getElementById("code")

var random = new Array(0,1,2,3,4,5,6,7,8,9,'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R',

'S','T','U','V','W','X','Y','Z')//随机数

for(var i = 0i <codeLengthi++) {//循环操作

var index = Math.floor(Math.random()*36)//取得随机数的索引(0~35)

code += random[index]//根据索引取得随机数加到code上

}

checkCode.value = code//把code值赋给验证码

}

//校验验证码

function validate(){

var inputCode = document.getElementById("input").value.toUpperCase()//取得输入的验证码并转化为大写

if(inputCode.length <= 0) { //若输入的验证码长度为0

alert("请输入验证码!")//则弹出请输入验证码

}

else if(inputCode != code ) { //若输入的验证码与产生的验证码不一致时

alert("验证码输入错误!@_@")//则弹出验证码输入错误

createCode()//刷新验证码

document.getElementById("input").value = ""//清空文本框

}

else { //输入正确时

alert("^-^")//弹出^-^

}

}

^表示开始。$表示结束。例:Regex reg = new Regex(@"^\d{3,4}-\d{7,8}$")\x0d\x0a加了开始结束标记之后,输入的数量和内容必须完全相同才为true(完全匹配)\x0d\x0a (\d,代表数字0-9)(\D,表示不是数字)(\w,表示a-z,A-Z,0-9,_)(\W 表示不是上面小w表示的)(\s 表示 空格。)\x0d\x0a ”*“ 表示0到多个\x0d\x0a“+” 1到多个\x0d\x0a“?” 0个或者1个\x0d\x0a“[ ]“ (一个数到另一个数之间)自定义匹配内容\x0d\x0a“ |”或者\x0d\x0a “{}”{最小个数,最大个数} 次数\x0d\x0a例如:邮箱验证:\x0d\x0aRegex r = new Regex(@"^[\w]+@[\w].[A-Z|a-z]$")\x0d\x0a自己kankan琢磨一下就懂了