如何在javascript中为字符串中不允许前导和结尾空格编写RegExpression
我正在写一个Javascript正则表达式,但没有得到正确的答案, 我在写一个表达法 •对输入数据没有限制 •不允许有起始和结束空间如何在javascript中为字符串中不允许前导和结尾空格编写RegExpression,javascript,regex,Javascript,Regex,我正在写一个Javascript正则表达式,但没有得到正确的答案, 我在写一个表达法 •对输入数据没有限制 •不允许有起始和结束空间 我像/^\S*\S$/一样写,但没有得到正确的输出,请帮助我。没有必要使用regeex。通过使用if,您可以轻松检查第一个或最后一个字符是否为空白 大概是这样的: var input = " my text with whitespaces"; if(input[0] == " " || input[input.length-1] == " ") { co
我像/^\S*\S$/一样写,但没有得到正确的输出,请帮助我。没有必要使用regeex。通过使用
if
,您可以轻松检查第一个或最后一个字符是否为空白
大概是这样的:
var input = " my text with whitespaces";
if(input[0] == " " || input[input.length-1] == " ") {
console.log("error");
}
子字符串版本:
var input = " my text with whitespaces";
if(input.substring(0,1) == " " || input.substring(input.length-1, input.length) == " ") {
console.log("error");
}
您可以使用负前瞻:
(/^\S+(?!.*\s$).*$/).test('my string')
^\S+
在字符串开头匹配一个非空白字符
(?!.*\s$)
字符串末尾空白的负前瞻
*
匹配其他任何内容
如果字符串的开头或结尾有空格,则计算结果为true,否则为false
您还可以执行以下操作:
!(/^\s+|\s+$/).test('my string')
根据对正则表达式的了解,它可能更具可读性。您几乎完全正确,只需在
*
之前添加一个
。通过这种方式,它只检查第一个和最后一个字符是否为空白,并允许介于两者之间的任何内容。正如您所看到的,字符串中的每个字符都不能是空白,因此像hello-hello
这样的字符串将失败
/^\S.*\S$/
/^\s |\s$/.test(字符串)?“以空格开始或结束”:“ok”代码>您能否提供数据示例和所需结果?简单地写/.+/g
将给出所有内容,而不带起始和结束空格,或者/\w+/g
将给出内容中的每个单词,而不带空格。并非所有正在使用的浏览器都允许按索引访问字符串。不过,使用子字符串的等效方法应该可以很好地工作。哇。。。我不知道。谢谢你提供的信息:)我在《第一极》中也考虑过,但我想这不是他想要的。。他想要厌恶只有前导、尾随以及两者都有的字符串,即带约束和带约束的空格。。因此,RobG评论中的解决方案是correct@nozzlemanRobG的解决方案检测到与此完全相同的条件,他的正好相反(即,当我的返回true时,他的返回false)。正在检查!a和!b
是检查a或b