Javascript HTML5文本字段的正则表达式模式
我想用javascript为带有地址的Javascript HTML5文本字段的正则表达式模式,javascript,jquery,html,regex,Javascript,Jquery,Html,Regex,我想用javascript为带有地址的html文本字段创建一个正则表达式模式。因此,我只希望用户输入[a-z,a-z,0-9]和这些符号[,#-.],我还希望防止用户发送空字符串和最大字符数小于100 这是html: 现在,仅当未选择其他时,此功能才起作用。否则它不会选择模式属性。但是,在jsfiddle上,完全相同的代码可以正常工作:但在浏览器中不能。这是pastebin中的代码: 谢谢HTML5为您提供了模式属性,允许您需要特定的模式。在这种情况下,您需要pattern=“[a-zA-Z0-
html文本字段
创建一个正则表达式模式。因此,我只希望用户输入[a-z,a-z,0-9]
和这些符号[,#-.]
,我还希望防止用户发送空字符串和最大字符数小于100
这是html
:
现在,仅当未选择其他
时,此功能才起作用。否则它不会选择模式
属性。但是,在jsfiddle上,完全相同的代码可以正常工作:但在浏览器中不能。这是pastebin中的代码:
谢谢HTML5为您提供了
模式
属性,允许您需要特定的模式。在这种情况下,您需要pattern=“[a-zA-Z0-9,#.-]+”
旧浏览器不支持这一点并不重要,因为您应该始终在服务器端进行验证。$(文档)。就绪(函数(){
}))
这将起作用。显示此任务的部分代码,人们将帮助您尝试一些东西,在此处发布,并解释哪些不起作用。这不是一个为我做的论坛。当您尝试并失败后,您将学习如何成功感谢您建议
模式
属性。但是,我不能让它在我的html中工作,就像我修改的问题一样。你使用的是什么浏览器?没关系,显然模式已经被锚定了。从开始和结束处删除^
和$
,它应该可以工作。即使删除^
和$
后,它仍然无法纠正它。您可以更新代码以显示您正在尝试的内容吗?JSFIDLE可能会有所帮助。
<input type="text" id="addy" maxlength="100"/>
<input type="text" style="width:285px" placeholder="Enter A Precise Address" name="address0" id="address"
pattern="[ a-zA-Z0-9,#.-]+" maxlength="100" title="Standard address notation only"/>
$('input').keyup(function() {
var $th = $(this);
$th.val( $th.val().replace(/[^a-zA-Z0-9,#.-]/g, function(str) { return ''; } ) );
});