什么是贪婪模式和非贪婪模式?
回答内容
String str="abcaxc";
Patter p="ab*c";
贪婪匹配:正则表达式一般趋向于最大长度匹配,也就是所谓的贪婪匹配。如上面使用模式p匹配字符串str,结果就是匹配到:abcaxc(ab*c)。
非贪婪匹配:就是匹配到结果就好,就少的匹配字符。如上面使用模式p匹配字符串str,结果就是匹配到:abc(ab*c)。
写一个函数isValidUsername(str),判断用户输入的是不是合法的用户名(长度6-20个字符,只能包括字母、数字、下划线)。
回答内容
function isValidUsername(str){
var reg = /^\w{6,20}$/;
return reg.test(str);
}
var str = "chengong_jirengu"
isValidUsername(str) // true
写一个函数isPhoneNum(str),判断用户输入的是不是手机号。
回答内容
function isPhoneNum(str){
var reg = /^(+86)?-1[358]\d{9}$/;
return reg.test(str);
}
var str = "+86-13123456789";
isPhoneNum(str); // true
既然+86都加了?,其实-也可以加?
题干
写一个函数isEmail(str),判断用户输入的是不是邮箱。
回答内容
function isEmail(str){
var reg = /^[\w|-]+@\w+.com$/;
return reg.test(str);
}
var str = "cmimi125@qq.com";
isEmail(str); // true
注意下. 表示除了回车符、换行符之外的所有字符
写一个函数trim(str),去除字符串两边的空白字符。
回答内容
function trim(str){
return str.replace(/^\s+|\s+$/g,"");
}
var str = " che ng ong ";
trim(str); // "che ng ong"
\d,\w,\s,[a-zA-Z0-9],\b,.,*,+,?,x{3},^,$分别是什么?
回答内容
\d 表示数字,等价[0-9]
\w 表示字符、字母、数字、下划线,等价 [a-zA-Z_0-9]
\s 表示空白符,等价[\t\n\x0B\f\r]
[a-zA-Z0-9] 表示小写字母、大写字母、数字
\b 表示单词边界
. 表示除了回车符、换行符之外的所有字符,等价 [^\r\n]
表示 0 次或多次,等价 {0,}
表示 1 次或多次,等价 {1,}
? 表示 0 次或 1 次,等价 {0,1}
x{3} 表示 xxx,即 x 出现3次
^ 表示开头
$ 表示结尾