我正在建立一个可以插入客户的数据库。
通过每个姓氏的首字母,我想检查它是否按照正确的顺序排列。 我想要它:" T.L.R。"每个首字母之间都有点。
要检查这一点,我想使用一种模式。
我现在得到的是:
<input required="true" type="text" required pattern="[A-Za-z]{1}+\.[A-Za-z]{1}+\.[A-Za-z]{1}+\.">
此代码不做任何事情。 有谁知道答案?
提前Thanx!
答案 0 :(得分:2)
您正在组合Line 20: There were 18 warnings(use warnings() to see them)
,意思是1,而{1}
意味着1或更多。这不起作用。
试试这个:
+
由于默认情况下[A-Za-z]\.[A-Za-z]\.[A-Za-z]\.
已经恰好为1,因此您也可以删除[]
这意味着您的首字母缩写中只需要3个字符,因此{1}
不会计算在内。
如果你想使用1个字符,然后是一个点,那么重复你可以使用它:
I.K.
另外,请勿忘记添加前缀([A-Za-z]\.)+
后缀^
以匹配整个字符串:
$
答案 1 :(得分:0)
正如一些人所说,应该将正则表达式模式重写为
[A-Za-z]{1}\.[A-Za-z]{1}\.[A-Za-z]{1}\.
使用表单标记时,所需的模式很有效。尝试:
<form action="customer">
Country code: <input type="text" name="country_code" pattern="[A-Za-z]{1}\.[A-Za-z]{1}\.[A-Za-z]{1}\." title="A.B.C.">
<input type="submit">
</form>
答案 2 :(得分:0)
如果你想要每个角色之间都有点数
,你的正则表达式应该是这样的 if(sentence.contains("blue") && sentence.contains("green")) {
System.out.println("sunny");
} else if (sequence.contains("blue")) {
System.out.println("ocean");
} else if (sequence.contains("green")) {
System.out.println("garden");
} else {
System.out.println("dull");
}