检查字符串是否只包含“ - ”而不包含任何其他内容

时间:2015-12-22 15:32:40

标签: javascript

如何检查字符串中是否只包含-?没有字母或数字。

即。字符串为-,而不是- hi"-1h"

最好的问候

3 个答案:

答案 0 :(得分:2)

试试这个正则表达式var reg = new RegExp(/^[-]+$/)

str = "---"
reg.test(str) // true


str = "2---"
reg.test(str) //false

str = "-"
reg.test(str) // true

答案 1 :(得分:2)

如果它只是字符“ - ”,则测试字符串相等是否有效:

var dashOnly = "-";
if(dashOnly === "-") // use strict comparison operator
    console.log("true");

如果短划线被空格包围,请尝试修剪它:

var withSpaces = "  -  ";
if(withSpaces.trim() === "-")
    console.log("true");

对于多个破折号,请使用正则表达式(另请参阅Grissom's answer):

var reg = /^[-]+$/;        // dashes only
var regSpace = /^[\s-]+$/; // dashes and space characters

reg.test("-");     // true
reg.test("-----"); // true
reg.test("--_");   // false
reg.test("-- --"); // false

regSpace.test("-- --"); // true

答案 2 :(得分:0)

使用正则表达式查找不是空格或" - ",/ [^ - ] /

var s =" ....&#34 ;;

s.match(/ [^ - ] /)=== null