我使用HTML5'pattern'属性和'required'来验证输入框.HTML5的必需属性可以工作,但它可以接受空格和制表符,这是不好的,因为用户只会放置空格.我需要正则表达式,它将接受空格和制表符,但只能计算字符的数量.示例"ronny jones"这应该给10.
在javascript中我们使用这样的东西来做,我在HTML5中寻找类似的东西
var name = document.forms['contact']['name'].value.replace(/ /g,""); // remove whitespace if(name.length<6){ // count number of character. document.getElementById('message').innerHTML="Enter correct Name"; return false; }
我在SO上找到了一个相关的问题:HTML5中是否有minlength验证属性?但它接受空格和标签,我不想要.
下面是我的HTML5模式代码,
Robbie.. 5
我管理了一个愚蠢的骇客,它可以执行您的要求:
必须有6个非空格字符才能通过。因此,“ asdfgh”,“ abc def”将起作用,但“ abc de”将失败。
您对“安东尼后面有空格”的评论不起作用,但是由于安东尼包含6个字符,那么可以吗?如果不是,您能否进一步澄清问题。
要解释它是如何工作的:
它采用的模式为“采用1个非空格字符”,\S
然后是“没有或更多的空格字符”\s*
您需要将模式匹配6次或更多次,(pattern){6,}
即(\S\s*){6,}
然后在前面留出更多或更多的空间 \s*
如果要将字符限制为仅Alpha,请将更改\S
为[A-Za-z]
。
是的,这是一个破解IMO,因为要在内部对长字符串进行解析将非常麻烦。但是工作。您可能还想与之混合maxlength
以限制它?
我管理了一个愚蠢的骇客,它可以执行您的要求:
必须有6个非空格字符才能通过。因此,“ asdfgh”,“ abc def”将起作用,但“ abc de”将失败。
您对“安东尼后面有空格”的评论不起作用,但是由于安东尼包含6个字符,那么可以吗?如果不是,您能否进一步澄清问题。
要解释它是如何工作的:
它采用的模式为“采用1个非空格字符”,\S
然后是“没有或更多的空格字符”\s*
您需要将模式匹配6次或更多次,(pattern){6,}
即(\S\s*){6,}
然后在前面留出更多或更多的空间 \s*
如果要将字符限制为仅Alpha,请将更改\S
为[A-Za-z]
。
是的,这是一个破解IMO,因为要在内部对长字符串进行解析将非常麻烦。但是工作。您可能还想与之混合maxlength
以限制它?