先给大家看看正则规则
文本
/^(\d+)$/ 对应 "纯数字"
/^([a-zA-Z]+)$/ 对应 "纯字母"
/^([a-zA-Z].+)$/ 对应 "字母开头+任意字符"
/^([0-9a-zA-Z]+)$/ 对应 "数字+字母任意组合"
/^([\s\S]+)$/ 对应 "未分类"
例子
代码如下 | 复制代码 |
function test(str, re, msg) { var ret = str.match(re || /^(\d+)$|^([a-zA-Z]+)$|^([a-zA-Z].+)$|^([0-9a-zA-Z]+)$|^([\s\S]+)$/); var msg = msg || ["", "纯数字", "纯字母", "字母开头+任意字符", "数字+字母任意组合", "未分类"]; var i = 0; while (ret[++i] === undefined); return msg[i]; } |
测试
代码如下 | 复制代码 |
console.log(test("123")); console.log(test("sss")); console.log(test("123xx")); console.log(test("a123xx")); console.log(test("%$#@")); |
可以看到利用一个正则和一个数组就完成了效验。
其实思路很简单,利用了正则的捕获组来对应数组里的字符。
代码如下 | 复制代码 |
/^(\d+)$|^([a-zA-Z]+)$|^([a-zA-Z].+)$|^([0-9a-zA-Z]+)$|^([\s\S]+)$/ |
时间: 2024-09-20 11:36:06