在日常工作中,过滤表单中一些特殊的字符是很常见的功能。比如文本中要求输入单纯的数字,但用户有时会误输入一些多余的空格或其他字符混合的文本,这显然不符合输入要求。
下面一起来学习怎样去除字符串左右两边的空格
JavaScript代码的replace()是JavaScript中的原生函数,此处使用replace()替换一个与正则表达式匹配的子串,性能相对比较优越。
其中的正则“/^(\s|\u00A0)+|(\s|\u00A0)+$/g”是关键部分。
这里稍微解释一下这段正则表达式的代码:
^ 表示从字符串的起始位置开始匹配
“\s”用来匹配任何空白字符。
(\s|\u00A0)+ \s表示匹配空白字符, \u00A0 是空白字符的Unicode表示,中间的 “|” 表示或者也就是使用哪一种
匹配规则都可以
+表示匹配多个空格
(\s|\u00A0)+表示到字符串的末尾结束。
/^(\s|\u00A0)+|(\s|\u00A0)+$/g 合起来理解就是匹配开头和结尾是一个或者多个空白字符。
js代码片段
window.onload = function () {
//获取过滤按钮对象”
var _rstrsBtn = document.getElementById("rstrsBtn");
//获取被过滤元素”
var _strs = document.getElementById("strs");
_rstrsBtn.onclick = function () {
//正则替换,去除空格
_strs.value = _strs.value.replace(/^(\s|\u00A0)+|(\s|\u00A0)+$/g, "");
}
}
html代码片段
<body>
<h2>测试去除字符串左右两边的空格</h2>
<input type='text' id='strs' value=' 需要过滤空格 '>
<input type='button' id='rstrsBtn' value=' 过滤 '>
</body>