700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > js去除字符串首尾空格

js去除字符串首尾空格

时间:2019-10-03 02:59:50

相关推荐

js去除字符串首尾空格

说明

JavaScript 正则表达式 g、i、m分别代表的意思

g:表示全局(global)模式,即模式将被应用于所有字符串,而非在发现第一个匹配项时立即

停止;

i:表示不区分大小写(case-insensitive)模式,即在确定匹配项时忽略模式与字符串的大小写;

m:表示多行(multiline)模式,即在到达一行文本末尾时还会继续查找下一行中是否存在与模

式匹配的项。

首次尝试

因为对字符串不熟,直觉想到的是直接字符串转数组然后去除首尾空格,但是只能删除首尾各一个空格:

<!DOCTYPE html><html><head></head><body></body><script>function noTrim(str) {const strArrNoTrim = [];let strArr = Array.from(str);// 这种,只能去除前后各一个空格strArr.forEach((val, index) => {if (!(val == ' ' && (index == 0 || index == (strArr.length - 1)))) {strArrNoTrim.push(val);}});return arrToStr(strArrNoTrim);}function arrToStr(strArr) {let str = '';strArr.forEach((val) => {str = str + val;})return str;}console.log(' 1 2 3 ');console.log(noTrim(' 1 2 3 '));</script></html>

正则:

<!DOCTYPE html><html><head></head><body></body><script>function noTrim(str) {// *:0次或者多次,即可以没有;+:1次或者多次,即一定要有至少一个return str.replace(/(^\s*)|(\s*$)/g, "");}const input = ' 你就 的 ';console.log(`input str length: ${input.length},input str: ${input}`);let inputAtf = noTrim(input);console.log(`input str length aft: ${inputAtf.length},input str aft: ${inputAtf}`);</script></html>

因为对正则不熟,每次搜索到正则,都会去看看意思:

上述正则str = /(^\s*)|(\s*$)/g)

\s:匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [ \f\n\r\t\v]。注意 Unicode 正则表达式会匹配全角空格符。我理解就是可以匹配全局空格了。去试验了,证实了。

^:开始;

$:结束

g:全局查询,不会在遇到一个匹配项时停止。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。