【发布时间】:2017-06-03 16:45:43
【问题描述】:
我正在使用带有“必需”的 HTML5“模式”属性来验证输入框。 HTML5 的 required 属性有效,但它可以接受空格和制表符,这是不好的,因为用户只会输入空格。我需要正则表达式,这样它才能接受空格和制表符,但只能计算字符。例如“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 上找到了一个与此相关的问题:Is there a minlength validation attribute in HTML5?,但它接受空格和制表符,这是我不想要的。
以下是我的 HTML5 模式代码,
<input type="text" name="name" class="form-control" placeholder="Your Full Name" pattern="[A-Za-z]{6,}" title="Name should have atleast 6 characters." required="" />
【问题讨论】:
-
使用 "min" html5 属性效果很好,您需要按如下方式更新您的正则表达式:
pattern="([a-zA-Z ]+)"。您的完整 html 输入:<input type="text" name="name" class="form-control" placeholder="Your Full Name" pattern="([A-Za-z ]+)" min="6" title="Name should have at least 6 characters." required="" /> -
@SorangwalaAbbasali 根本不工作。
-
试试这个正则表达式并保持 min 属性不变:
^\w+( +\w+)*$。它将允许第一个字母,然后是可能的空格,然后是单词和数字 -
@SorangwalaAbbasali 不为“Anthony”工作。安东尼之后还有空间
-
试试这个:
pattern="^[a-zA-Z0-9_.,*&#""\\/']+[a-zA-Z0-9_.,*&#""\\/' ]+$"
标签: javascript regex html