使用括号进行Html5电话号码验证

时间:2016-01-25 09:31:10

标签: regex html5 input html-input html5-validation

非常简单的问题......如何在html5中验证这样的模式...

(562)810-5566或(714)433-4434

注意它将包含括号和空格。

我当前的输入控件如下所示。

$checkInQs = explode("?", trim($_POST['checkInQs'], "?"));
    $checkInSql = "INSERT INTO CheckListQs (ID, GeofenceID, type, question) VALUES ";
    $checkInInsertQuery = array();
    $checkInInsertData = array();
    foreach($checkInQs as $q){
         $checkInInsertQuery[] = "('',?, 1, ?)";
         $checkInData[] = $geofenceID;
         $checkInData[] = $q;
    }

我知道当前模式与3334445555匹配,但它不是我想要的,当我尝试添加括号时,javascript控制台只是给出了错误的正则表达式语法错误。需要有关语法的帮助。

另外作为奖励,如果你知道如何让它显示一个自助的错误信息。目前我的data-tel-msg无效。

1 个答案:

答案 0 :(得分:1)

您可以使用以下代码:



input:valid {
  color: green;
}
input:invalid {
  color: red;
}

<form name="form1">
 <input value="(555) 324-5643" type="tel" title="Invalid Phone Number!" class="k-textbox" pattern="[(][0-9]{3}[)] [0-9]{3}-[0-9]{4}" required />
 <input type="Submit"/> 
</form>
&#13;
&#13;
&#13;

正则表达式\(\d{3}\)\s\d{3}-\d{4}匹配(###) ###-####格式的字符串,因为默认情况下HTML5模式被锚定(到字符串的开头和结尾)。

title属性允许显示错误文字。

如果环境中的反斜杠丢失,只需将其加倍,或将\d替换为[0-9]。要匹配文字\(,您还可以使用字符类:[(])相同:[)])。在角色类中,这些()会失去他们的特殊&#34;分组意义。