即时通讯应用消息验证:如何判断内容含至少一个非空格字符?
验证即时通讯消息:确保包含至少一个非空格字符
方法1:使用正则表达式
你需要的正则表达式非常简单,/\S/ 就能满足需求:
\S表示匹配任意非空白字符(包括字母、数字、标点符号等,与匹配空白字符的\s相反)- 只要字符串中存在至少一个这样的字符,
test()方法就会返回true
完整代码示例:
const valid = /\S/; const message_a = "Hello, Jim!"; const message_b = " "; const message_c = " "; console.log(valid.test(message_a) === true); // 输出 true console.log(valid.test(message_b) === false); // 输出 false console.log(valid.test(message_c) === false); // 输出 false
方法2:不使用正则表达式
如果不想用正则,也可以通过字符串的trim()方法实现:
trim()会移除字符串首尾的所有空白字符(空格、制表符、换行符等)- 若处理后的字符串长度大于0,说明原消息包含非空白字符
代码示例:
function isValidMessage(message) { return message.trim().length > 0; } const message_a = "Hello, Jim!"; const message_b = " "; const message_c = " "; console.log(isValidMessage(message_a) === true); // 输出 true console.log(isValidMessage(message_b) === false); // 输出 false console.log(isValidMessage(message_c) === false); // 输出 false
内容的提问来源于stack exchange,提问作者George Alexander
相关产品推荐
相关产品推荐

