### Godot version

v4.1.stable.official [970459615]

### System information

Godot v4.1.stable - Pop!_OS 22.04 LTS - Vulkan (Compatibility) - NVIDIA GeForce MX350 (nvidia; 525.116.04) - 11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz (8 Threads)

### Issue description

When I use the color picker to change a color, I can paste an HTML color code or write it myself. I can also prefix my text with a `#`  &mdash; the color picker will accept it as a valid color and update the corresponding element with that color. This is especially useful when I copy an HTML color code from a color palette like the one on lospec.com, since they always have a hash in front of them.

However, I cannot paste HTML color codes with surrounding spaces into this text box, even though the color code (without the spaces) is valid.

I would definitely call this behaviour a bug, since other programs like Affinity Designer, Blender or Gimp are very permissive about the input of HTML color codes. Or according to Jon Postel, *Be conservative in what you send, be liberal in what you accept.*

### Steps to reproduce

Preparation: 

1. create a new Godot project
2. create a new 2d scene
3. add a ColorRect node.
4. open the color picker for the color attribute in the inspector tab.

Explore the bug:

1. enter a valid HTML color code like `000` (black) => color is updated.
2. enter a valid HTML color code like `#fff` (white) => color is updated.
3. enter a valid HTML color code with leading space, for example `   #000` => color is not updated.
4. enter a valid HTML color code like `#000`(black) => color is updated.
5. enter a valid HTML color code with surrounding spaces, e.g. `   fff   ` => color is not updated.
6. enter a valid HTML color code like `fff`=> color is updated.

### Minimal reproduction project

N/A
picker_preview->add_theme_style_override("panel", picker_preview_style_box);
	}
	Rect2i screen_rect;
	if (picker_window->is_embedded()) {
		screen_rect = picker_window->get_embedder()->get_visible_rect();
		picker_window->set_position(Point2i());
		picker_texture_rect->set_texture(ImageTexture::create_from_image(picker_window->get_embedder()->get_texture()->get_image()));
	} else {
		screen_rect = picker_window->get_parent_rect();
		picker_window->set_position(screen_rect.position);
		Ref<Image> target_image = Image::create_empty(screen_rect.size.x, screen_rect.size.y, false, Image::FORMAT_RGB8);
		DisplayServer *ds = DisplayServer::get_singleton();
		
		Vector<DisplayServer::WindowID> wl = ds->get_window_list();
		
		for (int index = 0; index < wl.size(); index++) {
			DisplayServer::WindowID wid = wl[index];
			if (wid == DisplayServer::INVALID_WINDOW_ID) {
				continue;
			}
			ObjectID woid = DisplayServer::get_singleton()->window_get_attached_instance_id(wid);
			if (woid == ObjectID()) {
				continue;
			}
			Window *w = Object::cast_to<Window>(ObjectDB::get_instance(woid));
			Ref<Image> img = w->get_texture()->get_image();
			if (!img.is_valid() || img->is_empty()) {
				continue;
			}
			img->convert(Image::FORMAT_RGB8);