JS字符串练习题

1、 统计字符串中每个字符的个数
例如: var str = “asfesWsdA”;

function getCount( str ){
		//判断字符串中有几个小写字母 "a"
		for( var code = 32 ; code<=127 ; code++ ){
			//根据code值得到对应的字符
			var mych = String.fromCharCode(code);
			
			//判断mych在str中出现的次数
			
			var count = 0;
			for( var i = 0 ; i < str.length ; i++ ){
				var ch = str.charAt(i);//取出某个索引位置处的字符
				if( ch == mych ){
					count++;
				}
			}
			//判断 如果count的值大于0  说明该字符存在  就输出
			if( count > 0 ){
				//输出当前code对应的字符的个数
				console.log( "字符"+mych+"在字符串中出现了"+count+"次" );
			}
		}
	}

2、 已知页面中有个用户名和密码的文本框,一个登录按钮
当点击登录按钮时,需要对用户名格式进行验证:
要求: 长度在6—20 之间,否则alert提示
不能用数字开头 否则有alert提示
只能包含数字、字母、下划线,都正确,提示 正确,否则输出 只能包含字母数字下划线

html中的代码:

<body>
		用户名 : <input type="text" id="oTxt" />
		<input type="button" value="验证" id="oBtn" />
	</body>

js中的代码:

//给登录按钮添加单击事件
	oBtn.onclick = function(){
		//获取用户名
		var username = oTxt.value.toLowerCase();
		//长度在6---20之间是正确 不在这个区间就提示错误
		var len = username.length;
		if( len < 6 || len > 20 ){
			alert( "长度在6---20之间" );
			return;
		}
		
		//不能用数字开头  
		var firstCh = username.charAt(0);
		if( firstCh >= "0" && firstCh <= "9" ){
			alert("不能用数字开头");
			return;
		}
		
		//只能包含 字母 数字  下划线   
		//统计字母 数字 和下划线的总个数  他们的和 === len 
		//定义一个变量 累加 字母 数字 下划线总个数
		var count = 0;
		for( var i = 0 ; i < len ; i++ ){
			var ch = username.charAt(i);
			if( ch >= "a"&&ch<="z"||ch>="0"&&ch<="9"||ch=="_" ){
				count++;
			}
		}
		if( count == len ){
			alert("正确");
		}else{
			alert("只能包含字母 数字 下划线");
		}
	}

3.判断QQ号的格式:

html中的代码:

<body>
		请输入qq号 :   <input type="text" id="qq"/>
		<input type="button" value="判断" id="oBtn"/>
	</body>

js中的代码

oBtn.onclick = function(){
		//取出qq号
		var qqStr = qq.value.trim();
		var len = qqStr.length;
		if( len == 0 ){
			alert( "不能为空" );
		}else if( isNaN( qqStr ) ){ //非数字判断
			alert("必须是数字");
		}else if( qqStr.charAt(0) == "0" ){ //第一位不能是0
			alert("不能用0开头");
		}else if( qqStr.indexOf( "." ) != -1 ){ //不能有小数点
			alert( "不能包含小数点" );
		}else if( len < 5 || len > 10 ){
			alert("长度在5--10 之间");
		}else {
			alert("正确");
		}
	}
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值