学习javascript之路-(正则表达式——用户名前后:空格的删除)

357 阅读1分钟

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);