此正则表达式变量不适用于我的preg_match
函数:
表格
<div class="row">
<div class="col-md-6">
<label for="f_name">First Name</label>
<input type="text" class="form-control" id="f_name" name="f_name" >
</div>
<div class="col-md-6">
<label for="l_name">Last Name</label>
<input type="text" class="form-control" id="l_name" name="l_name" >
</div>
</div><br>
<div class="row">
<div class="col-md-12 text-right">
<button id="signup_button" name="signup_button" class="btn btn-success" style="font-family: Roboto;font-size: 15px;">
Create Account
</button>
</div>
</div>
这是javascript
$("#signup_button").click(function (event) {
event.preventDefault();
$.ajax({
url : "register.php",
method : "POST",
data : $("form").serialize(),
success : function(data){
$("#signup_msg").html(data);
}
})
})
这是php文件..
$f_name = $_POST['f_name'];
$name = "/^ [A-Z] [a-zA-Z ]+$/";
if (!preg_match($name,$f_name))
{
echo "$f_name is not valid";
exit();
}
当我输入正确的名称时,它会显示下面附带的无效屏幕截图 enter image description here
我输入的文字说$f_name
不是有效的。我猜正则表达式不起作用。
答案 0 :(得分:1)
请记住,空格是正则表达式的有效部分 - 你不能使用空格来分隔正则表达式的部分(除了你使用一些正则表达式修饰符......)。
在您的情况下,A a
将是有效的输入。要更改此行为,请从正则表达式中删除空格。
$name = "/^[A-Z][a-zA-Z]+$/";
答案 1 :(得分:0)