字符串验证中最常用的方法如下:
charAt(n):返回字符串中第n个位置的字符,从0开始。
charCodeAt(n):返回字符串中第n个位置字符的ASCII值,第一个位置为0。
indexOf(search):返回search在主字符串中的位置,如果没有则返回-1。
lastIndexOf(search):返回search在主字符串中的最后位置,没有则返回-1。
slice(start,end):返回start和end之间的字符串,如果没有提供end则返回从start开始所有的字符串。
split(start):将字符串分割成数组,数组元素为search周围的字符串,search本身不包含在数组中。
substrate(start,n):将从start开始的n个字符作为字符串返回。
substring(start,end):返回start和end之间的字符串。
非空验证是字符串验证中最为简单却也最常用的验证,验证过程中,需要判断字符串的值是否为null或者‘’(空格)。代码如下:
<html>
<head><title>JS字符串验证</title>
<script type="text/javascript">
function validate(){
var text = document.getElementById('text').value;
if(text==null || text==''){
alert('请输入一个字符串!‘);
}else {
alert('你输入的字符串是:‘+text);
}
}
</script>
</head>
<body>
<input name="text" id="text"/>
<input type="button" id="submit" οnclick="validate();" value="提交”/>
</body>
</html>
在表单提交时验证文本框中输入的值是否为数字。
根据以往的经验,要想验证一个字符串是否为数字格式,需保证以下几点:
1.如果字符串中包含有负号,则必须在第一位。
2.如果字符串中包含有小数点,则只能有一个。
3.每一位字符的ASCII码所在范围均在<48并且>57并且不等于45及46。
则代码如下编写:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script type="text/javascript">
function check(){
var str=document.forms[0].test.value;
if(str=='' || str==null){
alert("不能为空");
return false;
}
if(str.indexOf('-')!=-1 && str.substr(0,1)!='-')
{
alert('-只能在第一位上');
return false;
}
if(str.indexOf('.')!=-1 && str.indexOf('.')!=str.lastIndexOf('.')){
alert('.只能有一个');
return false;
}
for(var i=0;i<str.length;i++){
var c=str.charCodeAt(i);
if((c>57 || c<48) && c!=45 && c!=46){
alert('无效数字');
return false;
}
}
return true;
}
</script>
</head>
<body>
<form action="" οnsubmit="return check()">
<input type="text" name='test'>
<input type="submit" value="试一试" >
</form>
</body>
</html>