1.正则表达式——用户名前后:空格的删除
利用正则表达式来进行段落或者字符串的检查
代码:
/*
检查一个字符中是否含有.
.表示任意字符
在正则表达式用\作为转移符
使用构造函数时,由于参数是一个字符串,而\是字符串中转义字符,如果要使用\则需要使用\\来代替
*/
var reg=/\.\\/;
console.log(reg.test("\.\\abc"));
reg=new RegExp("\\.");
/*
\w
\W
\d
\s
\S
*/
reg=/\w/; //表示任意数字、字母以及下划线;
console.log(reg.test("123"));
reg=/\W/; //除了字母、数字以及下划线;
console.log(reg.test("123"));
reg=/\d/; //任意数字[0-9];
console.log(reg.test("123"));
reg=/\D/; //除了数字[^0-9];
console.log(reg.test("123"));
reg=/\s/; //空格;
console.log(reg.test("12 3"));
reg=/\S/; //除了空格
console.log(reg.test("123"));
//检查是否有单词child
reg=/child/;
console.log(reg.test("children"));
//利用\b设置单词边界(前后都可以设置)
reg=/\bchild/;
console.log(reg.test("children"));//true
reg=/\bchild\b/;
console.log(reg.test("hello children"));//false
//\B代表不设置单词边界
1.1实例代码
要求:我们对用户输入的字符串进行空格的去除
(1)首先思路:
利用""对空格进行替换;
使用.replace()进行替换
var str = " hello ";
str = str.replace(/\s/g, ""); //表示利用""对空格进行替换,\g代表全局匹配,不然只会替换第一个空格
console.log(str); //hello
但上面的方法会对所有空格进行去除," hel lo "也会变成"hello",所以要只去除前后的空格:
(2)优化思路:
先去除开头的空格/^\s*/,*代表0个或多个
再去除结尾的空格/\s*$/
然后对上面两个正则表达式进行整合/^\s*|\s*$/g,使用或|代表前后两个都去除空格,/g表示全局
var str=" hel lo ";
str = str.replace(/^\s*|\s*$/g); //使用正则表达式,去除前后的空格
console.log(str); //hel lo
(3)最终实现:
建立用户的输入---->然后对用户的输入进行判断
//用户输入:
var str = prompt("请输入用户名:");
//将用户输入的前后空格删除:
str = str.replace(/^\s*|\s*$);
console.log(str);