判断字符串里有几种类型的字符

 

 

判断字符串里有几种类型的字符

 

例如 abc  这面就有一种类型的字符 都为小写字母, 

  zEv6 这里面就有三种类型的字符 分别为 小写字母 ,大写字母,数字等。

  aB2‘6 这里边有四种  分别为 小写字母, 大写字母,数字和符号’  。

 

编程实现判断:

 

 1     <title>判断字符串里有几种字符</title>
 2     <script>
 3         /*分析
 4             数字0~9的 ascll码范围是 48~57
 5             大写字母的 ascll码范围是 65~90
 6             小写字母的 ascll码范围是 97~122
 7             常用符号的 ascll码范围是 32~47 || 58~64 || 91~96 || 123~126
 8 
 9         */
10 
11         function judgeStr(str){
12             var Num = 0; //数字的个数
13             var UpperCase = 0;// 大写字母的个数
14             var LowerCase = 0;// 小写字母的个数
15             var Sign = 0;// 符号的个数
16             //利用ascll码值来判断
17             for(var i = 0; i < str.length; i++){
18                 var char =str.charCodeAt(i); //将每一位转成ascll码值
19                 if(char >= 48 && char <= 57){
20                     Num += 1;
21                 }else if(char >= 65 && char <= 90){
22                     UpperCase += 1;
23                 }else if(char >= 97 && char <= 122){
24                     LowerCase += 1;
25                 }else if(char >= 32 && char <= 47 || char >= 58 && char <= 64 || char >= 91 && char <= 96 || char >= 123 && char <= 126){
26                     Sign += 1;
27                 }
28             
29             }
30             //alert('输入的字符串中有数字' + Num +'个 大写字母' + UpperCase + '个 小写字母' + LowerCase + '个 符号' + Sign);
31             return Boolean(Num) + Boolean(UpperCase) + Boolean(LowerCase) + Boolean(Sign);
32             //返回值为1时说明字符串里只有一种类型的字符,即2为两种,3为三中,4为四中
33         }
34         var st = prompt('请输入一个字符串','abc');
35         alert(judgeStr(st)); //加入输入的是abc  结果就为 1  ; abcC  结果就为2 ; abcC3/  结果就为4;
36         
37     </script>

 浏览器效果:

 

 

转载于:https://www.cnblogs.com/taohuaya/p/9571569.html

判断字符串是否符合特定格式可以使用正则表达式、字符串匹配、字符遍历等方法。以下是几种常见的方式: 1. 正则表达式:使用正则表达式匹配字符串是否符合特定模式。C++ 可以使用 std::regex 类来进行正则表达式匹配。 ```cpp #include <regex> #include <iostream> int main() { std::string str = "1234-5678-9012-3456"; std::regex pattern("\\d{4}-\\d{4}-\\d{4}-\\d{4}"); if (std::regex_match(str, pattern)) { std::cout << "Match!" << std::endl; } else { std::cout << "Not match!" << std::endl; } } ``` 2. 字符串匹配:使用字符串库函数如 strstr()、strchr() 等查找字符串是否包含特定的子串。 ```cpp #include <iostream> #include <cstring> int main() { std::string str = "hello world"; char substr[] = "world"; if (std::strstr(str.c_str(), substr) != nullptr) { std::cout << "Match!" << std::endl; } else { std::cout << "Not match!" << std::endl; } } ``` 3. 字符遍历:遍历字符串的每一个字符,检查是否符合特定要求。 ```cpp #include <iostream> #include <cstring> int main() { std::string str = "1234-5678-9012-3456"; bool is_valid = true; for (int i = 0; i < str.size(); i++) { if (i % 5 != 4 && !std::isdigit(str[i])) { is_valid = false; break; } if (i % 5 == 4 && str[i] != '-') { is_valid = false; break; } } if (is_valid) { std::cout << "Valid format!" << std::endl; } else { std::cout << "Invalid format!" << std::endl; } } ``` 以上三种方法都可以用来判断字符串是否符合特定格式,具体选择哪一种方法取决于具体的需求和实现复杂度。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值