我有两个问题。
1,我有一个输入
<input name="fruit" type="text" />
我只希望文本字段允许3种输入,格式如无空格,空格和&amp;例如“apple”,“apple juice”或“apple_juice”。我怎样才能在javascript或php中实现这一点?对不起我在正则表达式上非常糟糕
2,我想将跟随字符串转换为某些格式化字符串
例如
苹果转为苹果 苹果汁转换为apple_juice我怎么能在php中做到这一点?
感谢您的帮助
答案 0 :(得分:0)
这是/^(apple|apple\sjuice|apple_juice)$/
答案 1 :(得分:0)
您似乎希望使用单个_
下划线替换任何非字母字符。这一直是经典之作:
$str = preg_replace('/\W+/', "_", $str);
$str = trim($str, "_"); // in case there were any surroundings
答案 2 :(得分:0)
如果您将输入转换为其他格式,我看不出限制输入的原因。例如,如果您有apple + juice
,为什么拒绝它而不将其转换为apple_juice
?
这会将所有连续的非字母数字字符转换为一个_
:
$output = preg_replace('/[\W_-]+/', '_', trim($input));