Abs*_*Abs 86 javascript whitespace
我正在尝试检查字符串是否有空格.我找到了这个功能,但它似乎没有工作:
function hasWhiteSpace(s)
{
var reWhiteSpace = new RegExp("/^\s+$/");
// Check for white space
if (reWhiteSpace.test(s)) {
//alert("Please Check Your Fields For Spaces");
return false;
}
return true;
}
Run Code Online (Sandbox Code Playgroud)
顺便说一下,我添加了引号RegExp
.
有什么不对?有什么更好的我可以用吗?希望JQuery.
CMS*_*CMS 214
您只需在输入字符串上使用indexOf方法:
function hasWhiteSpace(s) {
return s.indexOf(' ') >= 0;
}
Run Code Online (Sandbox Code Playgroud)
或者您可以在简单的RegEx上使用测试方法:
function hasWhiteSpace(s) {
return /\s/g.test(s);
}
Run Code Online (Sandbox Code Playgroud)
这也将检查Tab等其他空格字符.
Ian*_*and 19
你的正则表达式不会匹配任何东西.你肯定需要删除引号 - "/"
字符就足够了.
/^\s+$/
是检查字符串是否是所有空白:
^
匹配字符串的开头.\s+
意味着至少1个,可能更多的空间.$
匹配字符串的结尾.尝试用/\s/
(并且没有引号)替换正则表达式
snn*_*snn 11
该test
方法是最好的方法。字符类\s
检查任何空白字符,包括空格、制表符、回车符和换页符。
全局标志不是必需的,因为我们正在寻找单个匹配项。正则表达式文字比其等效构造函数运行得更快,因为它们在运行时得到了更好的优化。
function hasWhiteSpace(s) {
return (/\s/).test(s);
}
console.log(hasWhiteSpace("Hello World!"));
console.log(hasWhiteSpace("HelloWorld!"));
console.time('hasWhiteSpace');
for (let i = 0; i < 1_000_000; i++) {
hasWhiteSpace("Some text here");
}
console.timeEnd('hasWhiteSpace');
Run Code Online (Sandbox Code Playgroud)
如果您仅使用某些空白字符,则可以利用数组方法,例如some
在第一次成功匹配时返回,但它们会比正则表达式的测试方法慢:
// Use includes method on string
function hasWhiteSpace(s) {
const whitespaceChars = [' ', '\t', '\n'];
return whitespaceChars.some(char => s.includes(char));
}
console.log(hasWhiteSpace("Hello World!"));
console.log(hasWhiteSpace("HelloWorld!"));
console.time('hasWhiteSpace');
for (let i = 0; i < 1_000_000; i++) {
hasWhiteSpace("Some text here");
}
console.timeEnd('hasWhiteSpace');
Run Code Online (Sandbox Code Playgroud)
正如您在性能基准测试中看到的,该方法比无论如何都不会被注意到的方法test
稍快。some
如果您使用 ECMAScript6 (ES6) 或更新版本,最简单的方法如下所示
// looking just for spaces
function hasWhiteSpace(s) {
return s.includes(' ');
}
Run Code Online (Sandbox Code Playgroud)
上述函数有一些限制,
如果我们需要使用正则表达式来匹配所有可能的空白字符,我们可以使用search
自 ECMAScript1 (ES1) 以来可用的选项:
// looking for spaces, tabs, line breakers, etc.
// live example: https://www.w3schools.com/jsref/jsref_regexp_whitespace.asp
function hasWhiteSpace(s) {
return s.search(/\s/);
}
// looking just for spaces, equivalent to includes option
function hasWhiteSpace(s) {
return s.search(/ /);
}
Run Code Online (Sandbox Code Playgroud)
这还将检查其他空白字符,例如制表符。
归档时间: |
|
查看次数: |
209349 次 |
最近记录: |