我想用 javascript 编写一个允许任何字符或空格但不包含任何其他非单词字符的文字:
david johan // pass
david johan mark // pass
david@# johan // doesn't pass
我用过这个
/^(([a-zA-Z]{3,30})+[ ]+([a-zA-Z]{3,30})+)+$/
但它不起作用 有什么建议 ?
答案 0 :(得分:1)
您可以使用此正则表达式:
<form class="form-horizontal">
<div class="row">
<div class="form-group col-sm-6">
<input type="text" class="form-control input-lg" placeholder="Your Title">
</div>
<div class="form-group col-sm-6">
<input type="text" class="form-control input-lg" placeholder="Your Description">
</div>
</div>
</form>
或在Javascript中:
<form class="form-horizontal">
<div class="row">
<div class="form-group col-xs-6">
<input type="text" class="form-control input-lg" placeholder="Your Title">
</div>
<div class="form-group col-xs-6">
<input type="text" class="form-control input-lg" placeholder="Your Description">
</div>
</div>
</form>
答案 1 :(得分:1)
很难准确说出你的目标,但我认为这样做会很好:
/^([a-z0-9]|\s)*$/i
^
表示需要从括号中的代码开始,而$
表示它也需要以其中一个字符结束。 *
表示前面表达式中的0个或更多,而parens中的位表示范围a-z
或数字0-9
或(|
)任何空格字符,制表符中的任何字母,新行等(\s
)。
它应匹配任何字母或数字,并且它上面也有不区分大小写的标记(i
),它也会占用空格。
如果可以包含_
,那么您可以使用/^(\w|\s)*$/
答案 2 :(得分:0)
尝试此模式\w+\s+\w+
console.log(/\w+\s+\w+/g.test("david johan"))
console.log(/\w+\s+\w+/g.test("david johan mark "))
console.log(/\w+\s+\w+/g.test("david@# johan"))
console.log(/\w+\s+\w+/g.test("david @# johan"))
console.log(/\w+\s+\w+/g.test("this should not match!"));