我有一个密码字段,如果密码在开始或结束时包含任何空格,我想提醒用户。密码可以是一个短语,因此允许字符串之间的空格。警告用户如果密码字段包含字符串开头或结尾的空格,请输入javascript
我相信它可以通过正则表达式完成,但我没有太多的手。
如果有人能帮我一把。
我有一个密码字段,如果密码在开始或结束时包含任何空格,我想提醒用户。密码可以是一个短语,因此允许字符串之间的空格。警告用户如果密码字段包含字符串开头或结尾的空格,请输入javascript
我相信它可以通过正则表达式完成,但我没有太多的手。
如果有人能帮我一把。
像这样:
if (/^\s|\s$/.test(str)) {
//Waah waah waah!
}
说明:
/.../
表达式创建一个RegExp对象。.test()
方法检查给定的字符串是否匹配正则表达式。|
表达式匹配任无论是之前或一切之后它(一个or
表达式)\s
表达式匹配任何单个空白字符(例如,一个空格,制表符或换行符或花式的Unicode空间)^
字符匹配字符串的开头$
字符字符串因此,正则表达式读取的末端相匹配:匹配字符串随后空格或空白后跟字符串的结尾的任一的开始。
哪里password
是你candidiate的字符串值:
if(password.match(/^\s|\s$/))
{
// failed
}
在正则表达式:
*正则表达式。当查找来自正则表达式的真或假响应时,test(str)*比* string.match(reg)*更合适。见SLaks的答案。 – 2010-09-03 15:09:11
呃,从语义上讲,它仍然很清楚,表现明智,它是有效的。 'match'比'test'具有更广泛的应用,我倾向于在可能的情况下减少使用的模式。 – annakata 2010-09-06 07:43:13
可以很容易地编写一个正则表达式来测试是否有空格之前或之后文本;使用^和$来锚定测试。
/^\s|\s$/
但为什么甚至会打扰用户呢?我认为自动修剪空白会更好。
str.replace(/^\s+|\s+$/g, '');
没有琐事,没有大惊小怪。
完美。可能是我现在开始玩更多的正则表达式。 谢谢:) – jtanmay 2010-09-03 15:54:09